一、什么是僵尸进程?
子进程先于父进程节结束,父进程没有调用wait()获取子进程的退出码,子进程此时变为僵尸进程
在每个进程退出时,内核释放所有资源,但任然保留一定的信息,例如:进程号,退出信息,运行时间等,这些信息要由父进程来取,并且由父进程释放
运行状态:
二、僵尸进程带来的危害
当多个僵尸进程存在的时候,会保留大量的进程号,然后进程系统能够使用的进程号是有限的,这样会导致系统因为没有可用的进程号而不能产生新的进程
三、如何解决僵尸进程
父进程通过获取子进程的退出码等待子进程结束,然后在继续执行自己的进程(也就是说此时父进程此时相当于挂起状态)
运行结果:
四、什么是孤儿进程?
父进程先于子进程结束,子进程的父进程由init接管(孤儿进程一般情况下,不会对系统产生危害)