这两个函数都是发送信号的,分别是在什么场合使用,有什么不同吗?
thanks
原帖由 john3851 于 2006-8-8 12:33 发表这两个函数都是发送信号的,分别是在什么场合使用,有什么不同吗?
>>>>以下来自http://www.ddvip.com/program/vc/index6/58.htm>>sigqueue()比kill()传递了更多的附加信息,但sigqueue()只能向一个进程>>发送信号,而不能发送信号给一个进程组。如果signo=0,将会执行错误检>>查,但实际上不发送任何信号,0值信号可用于检查pid的有效性以及当前进>>程是否有权限向目标进程发送信号。>>>>在调用sigqueue时,sigval_t指定的信息会拷贝到3参数信号处理函数(3参>>数信号处理函数指的是信号处理函数由sigaction安装,并设定了sa_sigaction>>指针)的siginfo_t结构中,这样信号处理函数就可以处理这些信息了。由于>>sigqueue系统调用支持发送带参数信号,所以比kill()系统调用的功能要灵活>>和强大得多。>>>>
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(2)
thanks
>>
>>以下来自http://www.ddvip.com/program/vc/index6/58.htm
>>sigqueue()比kill()传递了更多的附加信息,但sigqueue()只能向一个进程
>>发送信号,而不能发送信号给一个进程组。如果signo=0,将会执行错误检
>>查,但实际上不发送任何信号,0值信号可用于检查pid的有效性以及当前进
>>程是否有权限向目标进程发送信号。
>>
>>在调用sigqueue时,sigval_t指定的信息会拷贝到3参数信号处理函数(3参
>>数信号处理函数指的是信号处理函数由sigaction安装,并设定了sa_sigaction
>>指针)的siginfo_t结构中,这样信号处理函数就可以处理这些信息了。由于
>>sigqueue系统调用支持发送带参数信号,所以比kill()系统调用的功能要灵活
>>和强大得多。
>>
>>