进程退出

孤儿(orphan)进程 :

子进程sleep 2秒,然后父进程执行结束,子进程未结束。

可以看到,孤儿进程的ppid 为 11,为root

僵尸(zombie)进程:

父进程未回收,子进程残留。
产生僵尸进程

父进程一直执行

僵尸进程一直占用进程号,占用内核区数据。导致内核分配时无进程号可以分配。

kill 无法杀死僵尸进程
解决方法
wait() 函数
本文详细解析了进程中的孤儿进程和僵尸进程现象。孤儿进程是指父进程先于子进程结束的情况;而僵尸进程则是指子进程结束后,父进程未能及时回收资源所遗留的状态。文章还介绍了如何通过wait()函数来解决僵尸进程的问题。


子进程sleep 2秒,然后父进程执行结束,子进程未结束。

可以看到,孤儿进程的ppid 为 11,为root


产生僵尸进程

父进程一直执行

僵尸进程一直占用进程号,占用内核区数据。导致内核分配时无进程号可以分配。

kill 无法杀死僵尸进程
wait() 函数
603
471
673
322
285

被折叠的 条评论
为什么被折叠?