一、僵死进程的产生和处理
1、僵死进程的产生
子进程先于父进程结束,这是需要父进程最子进程的pcb进行释放,如果父进程没有对已经结束的子进程进行pcb释放,那么该子进程就一直处于僵死状态,如果父进程运行一段时间也结束了,那还好办,init进程会接收这个僵死的子进程对其pcb进行释放,但是如果父进程一直循环,那么子进程就一直处于僵死状态。
2、僵死进程的处理方式
(1)将其父进程杀死,显然这个不是很合理
(2)当子进程结束时便向其父进程发送一个SIGCHID信号,父进程收到该信号之后便调用wait或waitpid释放子进程pid。
二、孤儿进程的产生和处理
1、孤儿进程的产生
一个父进程退出,而它的一个或多个子进程还在运行,那么这些子进程将成为孤儿进程。孤儿进程将被init进程收养,并由init进程对它们进行状态收集工作。
2、孤儿进程的处理
由于孤儿进程已被init进程收养,那就相当于其有了一个父进程,因此并不需要做特殊处理。