Update p14_launching_daemon_process_on_unix.rst

看代码这里并不是关闭子进程,而是终止父进程来使得新开的子进程变为孤儿进程。
但是我并不是很确定这样改是否正确,麻烦评估一下。
This commit is contained in:
Flynnon
2019-04-22 00:00:51 +08:00
committed by GitHub
parent ded49dd0c7
commit 8ff455fab9

View File

@@ -154,7 +154,7 @@
创建一个守护进程的步骤看上去不是很易懂,但是大体思想是这样的,
首先,一个守护进程必须要从父进程中脱离。
这是由 ``os.fork()`` 操作来完成的,并立即被父进程终止。
这是由 ``os.fork()`` 操作来完成的,子进程创建之后,父进程立即被终止。
在子进程变成孤儿后,调用 ``os.setsid()`` 创建了一个全新的进程会话,并设置子进程为首领。
它会设置这个子进程为新的进程组的首领,并确保不会再有控制终端。
@@ -164,7 +164,7 @@
另外一个调用 ``os.fork()`` 在这里更加神秘点。
这一步使得守护进程失去了获取新的控制终端的能力并且让它更加独立
本质上该daemon放弃了它的会话首领位,因此再也没有权限去打开控制终端了)。
本质上该daemon放弃了它的会话首领位,因此再也没有权限去打开控制终端了)。
尽管你可以忽略这一步,但是最好不要这么做。
一旦守护进程被正确的分离它会重新初始化标准I/O流指向用户指定的文件。