我正在做一个项目,将一大堆OS-9(微件)代码移植到linux。
OS-9中的信号处理功能允许您创建自己的信号,或者至少它是如何实现的(intercept()函数)。我对linux信号了解不多,一直在努力自学。我有一条sigusr1的sigaction路径,只是为了让自己熟悉一下。在传统OS-9代码中,有10个用户定义的信号。在linux中实现这一点的最佳方式是什么?
OS-9信号处理程序是一个带有大switch语句的函数。每个信号对应(设置)一个全局变量,该变量作用于该进程代码中的其他位置。
谢谢,赛斯
发布于 2011-12-27 12:51:33
您需要在SIGRTMIN和SIGRTMAX之间使用信号号。这是在here中讨论的
您可以使用kill(如果没有数据)或sigqueue(如果有数据)发送信号。
你用sigaction接收你的信号。查看sigaction的手册页,查找将存储sigqueue的数据的位置。
https://stackoverflow.com/questions/8641206
复制相似问题