Why there are only two user defined signals

historyipcsignals

In the list of signals defined in a linux system, there are two signals stated as User Defined signals (SIGUSR1 and SIGUSR2). Other signals will be raised or caught in specific situations, but SIGUSRs are left for user application's use.

So why only two signals?

Best Answer

Historically, Unix had only these two signals, but modern systems have the real-time signals SIGRTMIN...SIGRTMAX.

Due to the wacky and unportable semantics of the signal APIs, there is almost no use case where signals would be preferrable over other communication mechanisms like pipes. Therefore, allocating a new signal number has never been seen as necessary.

Related Question