最近学习unix系统信号时候遇到了函数sigqueue函数,网上看了看一切前辈写的感觉思路挺清晰的,但是自我感觉理解不是很清楚,我就在这唠叨两句,留着以后复习用。(用的是ubuntu14.04系统测试)
首先呢,看下它的原型吧:
#include <signal.h>
int sigqueue(pid_t pid, int sig, const union sigval value);
第一个参数:指定要发送给进程的 id号(注:pid_t就是)
第二个参数:发送的信号值,也就是你要发送的信号类型
第三个参数:是一个联合类型的值,
定义如下:
union sigval {
int sival_int;
void *sival_ptr;
};
所以可以用下边的方式发送信号:比如我要给 进程100 发送 信号2(SIGINT),传送的数值为 50
sigqueue(100,SIGINT,50);
这样进程100 就能接受信号了