进程控制&孤儿进程&僵尸进程

进程退出

进程控制&孤儿进程&僵尸进程_第1张图片

孤儿(orphan)进程 :

进程控制&孤儿进程&僵尸进程_第2张图片

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

进程控制&孤儿进程&僵尸进程_第3张图片

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

 进程控制&孤儿进程&僵尸进程_第4张图片

 僵尸(zombie)进程:

进程控制&孤儿进程&僵尸进程_第5张图片

 父进程未回收,子进程残留。

产生僵尸进程

进程控制&孤儿进程&僵尸进程_第6张图片

进程控制&孤儿进程&僵尸进程_第7张图片父进程一直执行

进程控制&孤儿进程&僵尸进程_第8张图片

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

 kill 无法杀死僵尸进程

解决方法

wait() 函数

你可能感兴趣的:(网络编程,linux)