当我在kill()或signal()函数中使用SIGUSR1时,它在做什么?是宏吗?我读到它是用户定义的,但它是在哪里定义的?我可以制作 SIGUSR10 (或以编程方式制作不同信号类型的“数组”)吗?
用户定义的信号意味着这些信号没有明确的含义,与SIGSEGV
, SIGCONT
, SIGSTOP
等等。内核永远不会向进程发送 SIGUSR1 或 SIGUSR2,因此您可以根据应用程序的需要设置信号的含义。这些都是大写的SIG
常量实际上是宏,它将扩展为一个整数,指示特定实现中的信号编号。尽管用户定义的信号不一定need要定义,信号号已经在特定实现中固定,并且可以安全地重新调整它们的用途,因为除了用户之外,它们不会由任何其他东西发送。
传统上,有两种用户定义的信号:SIGUSR1
and SIGUSR2
。然而,最近的实现有一种称为“POSIX 实时信号”的东西,它提供了更多用户定义的信号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)