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