传智扫地僧课程学习笔记。
信号分为
不可靠信号,即传了3个信号,可能只接到1个,
可靠信号,就算传送失败,也会有返回信息,告诉你哪里出错了,
一个结论帮助理解:非实时信号都不支持排队,都是不可靠信号;实时信号都支持排队,都是可靠信号。
那不可靠信号怎么解决了,
最后决定,原来的,就让它留着,我们扩充,
注意,如果在fork之前安装信号,则子进程可以继承信号。
之前,我们通过键盘的操作,比如 ctrl+c,来发送信号,
现在我们要在代码中发送信号,可以用kill,raise,
Int kill(pid_t pid, int siq)
参数组合情况解释:
kill(pid_t pid, int siq)
pid>0将信号sig发给pid进程
pid=0将信号sig发给同组进程
pid=-1将信号sig发送给所有进程,调用者进程有权限发送的每一个进程(除了1号进程之外,还有它自身)
pid<-1 将信号sig发送给进程组是pid(绝对值)的每一个进程
可中断睡眠,sleep(100),与前面进程状态联系起来理解,
来个好玩的,下面的代码,我取名,自然醒
do
{
n = sleep( 100);
}while( n>0);