Computer System, Computer Science, Operating Systems.
signal，多余的会被丢弃（因此绝对不能用信号来对其他进程发生的事件计数！）。内核为每个进程在pending位向量维护待处理singal集合，blocked位向量维护被阻塞的signal集合。 当内核把进程从内核模式切换到用户模式时，会检查该进程未被阻塞的pending signal集合，为空则开始执行下一条指令。否则内核选择某个信号（通常是最小的信号编号）强制进程接收并处理，完成后再执行下一条指令。 signal函数可以用来关联singal和对应handler，但SIGSTOP和SIGKILL不可修改handler。 编写signal handler的最佳实践主要有以下几点：