回收子进程
孤儿进程
孤儿进程:父进程先于子进程结束,则子进程成为孤儿进程。子进程的父进程变成init进程。init-->1号进程,被称为进程孤儿院。【孤儿进程是没有危害的】
init进程会循环的wait()它的已经退出的子进程。这样,当一个子进程凄凉的结束了其生命的时候,init进程就会代表党和政府出面处理它的一切善后工作,因此,孤儿进程并不会有什么危害。
僵尸进程
僵尸进程:进程终止,父进程尚未回收(父进程后于子进程结束)。子进程残留的资源(PCB)存放在内核中,变成了僵尸进程。僵尸进程危害很大,应尽量避免。
每个进程结束之后,都会释放自己地址空间中的用户区数据,内核区的PCB没有办法自己释放掉,需要父进程去释放。(父进程的父进程是当前所在的bash,或者说终端)进程终止时,父进程尚未回收子进程残留的资源(PCB)存在于内核中,变成了僵尸进程。僵尸进程不能被 kill -9 杀死,因为已经终止了,不可能接收信号。这样会导致一个很严重的问题,如果父进程不调用wait()或waitpid()的话,那
回收子进程最先出现在Python成神之路。
共有 0 条评论