0
while()
{
block signal;
pselect();
unblock signal;
}
虽然信号被阻断,我可以存储已经发送的信号中的进程ID?让我在pselect完成其工作并解除信号后处理它们?
如果有更好的方法实现这个可以有人引导我请。
while()
{
block signal;
pselect();
unblock signal;
}
虽然信号被阻断,我可以存储已经发送的信号中的进程ID?让我在pselect完成其工作并解除信号后处理它们?
如果有更好的方法实现这个可以有人引导我请。
被阻塞的信号在解锁后排队并传递。
如果标准信号(即不是实时信号)在被阻塞时被传送到进程每个标准信号只有一个实例在排队。
详情请参阅man 7 signal
。
如果该信号处理程序已经建立了使用sigaction()
在struct sigaction
组传递给SA_SIGINFO
的sa_flags
构件可以导出该发送的信号的进程ID。
详情请致电see man sigaction
。
谢谢。如果信号是实时信号呢?例如用户定义的信号?虽然阻止我发送3-4信号?我怎样才能做到这一点?! –