浅谈孤儿进程、僵尸进程以及守护进程

孤儿进程:

  父进程先退出,而它的子进程还在运行,那么还在运行的子进程就被称为孤儿进程。孤儿进程会被进程号为1的init进程所收养,并对它们完成工作状态的收集工作,因此不会对系统造成危害。

僵尸进程:

  子进程退出,而父进程并没有调用wait()或waitpid()函数来获取子进程的信息,导致子进程的进程描述符仍然保存在系统中而无法释放,这种进程就被称之为僵尸进程。僵尸进程通过ps命令显示的状态为Z。由于系统所能使用的进程号有限,如果存在大量僵尸进程,系统将会因为没有可用的进程号而无法产生新的进程。要消灭大量的僵尸进程,只需要杀死其父进程,使其变成孤儿进程而被init进程收养,由init进程来释放僵尸进程所占用的资源。

守护进程:

  守护进程是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程一般在系统启动时开始运行,除非强行终止,否则一直保持运行。

posted @ 2021-03-30 12:05  eliwang  阅读(354)  评论(0编辑  收藏  举报