“Orphan process”(孤儿进程)指在类 Unix 操作系统中,父进程先于子进程结束后留下的子进程。此时该子进程会被系统(通常是 init/systemd,即 PID 1)接管并继续运行,从而避免无人回收资源的问题。该术语也常与“僵尸进程(zombie process)”对比:孤儿进程仍在运行;僵尸进程已结束但未被父进程回收。
The server created an orphan process when the parent crashed.
父进程崩溃后,服务器产生了一个孤儿进程。
In Unix-like systems, an orphan process is usually adopted by PID 1 so it can keep running and be properly reaped when it exits.
在类 Unix 系统中,孤儿进程通常会被 PID 1 接管,这样它既能继续运行,也能在退出时被正确回收。
/ˈɔːr.fən ˈprɑː.ses/
“orphan”原义为“孤儿”,来自拉丁语 orphanus(失去父母的人),经由希腊语 orphanos 进入英语;在计算机术语中借用其“失去依靠/监护者”的含义,用来形容“失去父进程”的子进程。“process”来自拉丁语 processus(推进、过程),在操作系统语境中指“进程”。
fork()、父子进程、wait()/回收与孤儿进程的典型行为。