孤儿进程 与 守护进程

守护进程创建是特意而为的,创建的方式确实是让它 fork 出来的进程成为孤儿进程,但是在那之后还有很多事情要做。

守护进程创建时是刻意让父进程结束执行,让子进程被 init 接管,目的是不让守护进程有任何的 control terminal。然后还要调用 setsid 使它成为一个单独的 session 中的进程且只有这一个进程,除此之外还要关闭所有的文件描述符,将文件描述符 0, 1, 2 全部指向 /dev/null 保证它不会将信息打印到终端,不会读取用户输入。

关于守护进程的具体内容和创建方法建议去看 APUE,我上面说的就是我记得的内容。

你可能感兴趣的:(孤儿进程 与 守护进程)