sae*_*edn 11 signals history ipc
在 linux 系统中定义的信号列表中,有两个信号表示为用户定义的信号(SIGUSR1
和SIGUSR2
)。在特定情况下将引发或捕获其他信号,但 SIGUSR 留给用户应用程序使用。
那么为什么只有两个信号呢?
CL.*_*CL. 13
从历史上看,Unix的只有这两个信号,但现代系统具有实时信号SIGRTMIN
...... SIGRTMAX
。
由于信号 API 的古怪和不可移植的语义,几乎没有用例比其他通信机制(如管道)更喜欢信号。因此,分配新的信号编号从未被认为是必要的。
信号只提供一种原始的通信方式。特别是,无法向它们附加任何信息。接收者只知道信号编号,而不知道发送者的身份。多个信号可以合并为一个。鉴于所有这些限制,信号没有那么多有用的用途。
对于更复杂的目的,请使用更复杂的交互方式,例如管道或套接字。