信号编号:低7位
状态编号:次低8位
1.子进程退出后会变为僵尸进程,将退出结果写入自身的task_struct结构体中
2.wait/waitpid是一个系统调用->OS可以读取子进程的task_struct
1.为什么要进行进程等待?
1.将子进程(僵尸进程释放)。
2.获取子进程状态
2.进程等待是什么?
通过系统调用让父进程等待子进程的一种方式。
3.如何做到进程等待?
通过wait和waitpid,指定等待方式(阻塞,非阻塞)获取子进程退出结果,以阻塞或非阻塞的方式对进程进行等待。
轮询:多次非阻塞等待。
阻塞:父进程一直等待并检测子进程的状态
非阻塞:父进程检测子进程的状态,(如果子进程没有就绪,直接返回)-> (没一次都是一次非阻塞等待)
非阻塞有什么好处?
不会占用父进程的所有资源,可以在轮询期间执行其他任务。