僵尸进程、孤儿进程、守护进程详细讲解
时间: 2023-10-06 07:04:55 浏览: 296
1. 僵尸进程
当一个进程完成了它的工作,但是父进程没有及时调用`wait()`或`waitpid()`来获取它的退出状态,这个已经退出的进程就成为了僵尸进程。僵尸进程不占用CPU资源,但是会占用系统的进程号和一些系统资源。
为了避免出现大量的僵尸进程,父进程应该及时调用`wait()`或`waitpid()`获取子进程的退出状态,以便系统回收僵尸进程占用的系统资源。
2. 孤儿进程
如果一个进程的父进程意外死亡或者被kill掉了,那么这个进程就成为了孤儿进程。孤儿进程会被init进程接管,并成为init进程的子进程。init进程会定期调用`wait()`或`waitpid()`获取孤儿进程的退出状态,以避免出现僵尸进程。
3. 守护进程
守护进程是在后台运行的一种进程,通常是在系统启动时自动启动,并且一直运行到系统关闭。它通常没有控制终端和用户交互,主要用于后台任务的处理,比如网络服务、定时任务等。
守护进程通常会调用`fork()`创建子进程,然后子进程调用`setsid()`创建新的会话,脱离控制终端。父进程退出,子进程成为守护进程。守护进程还需要把当前工作目录切换到根目录,关闭不需要的文件描述符,以及捕获并处理一些信号等。
阅读全文
相关推荐














