一 回顾
1 用了几个函数讲了raise 函数的父子通信
子进程在发送信号的那段时间 父进程在睡眠状态
2 观察了 父进程在接收前后的状态变化。
3 并且说明了 waitpid 不能回收子进程 wait 才可以
二 alarm 函数 (发送闹钟信号函数)
alarm 函数 和raise函数
相同点 :都是从内核发出
不同:alarm 函数 定时到时间 才发出 raise函数是马上发出
#include <stdio.h>
#include <unistd.h>
#include <string,h>
#include <stdlib.h>
int main()
{
int i=0;
printf("hello world\n");
alarm(7);//定时7秒后发送停止信号
while(i<20)
{
i++;
printf("I======%d\n",i);
sleep(1);
}
return 0;
}
三 pause函数(接收睡眠函数)
接收进程 就是接收它的状态
pause 函数为睡眠状态
#include <stdio.h>
#include <unistd.h>
#include <string,h>
#include <stdlib.h>
int main()
{
int i=0;
printf("hello world\n");
pause();
while(i<20)
{
i++;
printf("I======%d\n",i);
sleep(1);
}
return 0;
}
怎么让睡眠状态停止呢
结束操作
CTRL+C
1 内核有驱动 驱动里也有对应的键盘驱动
2 内核就可以根据键盘输入的进行发送出去
找不到 ./a.out
睡眠状态不存在了