进程等待..
进程等待:
1.是什么?
通过系统调用wait/waitpid,来进行对子进程进行状态检测与回收的功能!
2.为什么?
僵尸进程无法被杀死,需要通过进程等待来杀掉它,进而解决内存泄漏问题—必须解决的
我们要通过进程等待,获得子进程的退出情况—知道我布置给子进程的任务,它完成的怎么样了—要么关心,也可能不关心—可选的
3.怎么办?
代码:父进程通过调用wait/waitpid进行僵尸进程的回收问题!
1.等待单个进程
2.等待多个进程
wait等待任意一个进程,现在有多个子进程需要通过循环+wait
wait返回值为等待成功的子进程pid,如果小于0说明等待失败了
如果子进程不退出,父进程默认在wait的时候,调用这个系统调用的时候,也就不返回,默认叫做阻塞状态!
这也证明了之前我们进程状态谈的,一个进程不一定只等待硬件还可能等待其他进程
至此僵尸问题造成的内存泄露问题我们就解决了,我们解决