有什么办法在Linux中创build用户定义的信号? 我的信号(信号编号)不应与任何现有的信号编号匹配。
换句话说,我想创build我自己独特的信号,这个信号将被我的处理程序注册和捕获。
可能吗? 如果是的话,怎么样?
提前致谢。
你不能添加或注册你自己的SIGWHATEVER。
请参阅sigset_t
,它是固定的大小。 请参阅valid_signal()
beartraps。
SIGRTMIN
到SIGRTMAX
(这些通常不是常量,但可扩展到在运行时评估的函数)可用于任何你喜欢的用途, SIGUSR1
和SIGUSR2
。 前者有更多的实时排队支持; 后者不。 只需选择一个使用。
你可以用特殊的信号编译你自己的内核:)
有USR1
和USR2
信号设计用于用户定义的目的。
你可以使用USR1和USR2这种东西。
如果这还不够,可以通过让应用程序监听外部应用程序可以发送消息的套接字来模拟信号行为。