目录

孤儿进程和僵尸(僵死)进程

目录

孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。

僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。

解决僵尸进程的两种方法:

  1. 子进程向父进程发送 SIGCHILD 信号。
  2. fork 两次,将子进程转为孤儿进程。A -> B -> C 的情况下,让 B 先于 C 退出。此时由 init 进程接管孤儿进程。

https://www.cnblogs.com/Anker/p/3271773.html