【发布时间】:2019-07-26 15:17:46
【问题描述】:
基于Python documentation,守护线程是在主线程终止时终止的线程。这似乎是守护进程的完全相反的行为,它涉及创建子进程并终止父进程以便让 init 接管子进程(也就是杀死父进程不会杀死子进程)。
那么为什么当父进程死亡时守护线程也会死亡,这是用词不当吗?我认为“守护程序”线程会在主进程终止后继续运行。
【问题讨论】:
-
守护进程是旨在永远被杀死的进程。守护线程是你永远不会杀死的线程(但是当主进程死亡时内核会杀死它们,但你没有明确地这样做)。
-
在这两种情况下,“守护程序”都是您启动并忘记的东西,只要有任何东西继续运行,它就会运行。在这两种情况下,非守护程序版本的不同之处在于它是由父级监督和控制或监控的。
-
Python 守护进程具有与 Python 守护线程相同的关闭行为。 Unix 守护进程与两者的概念不同。
标签: python multithreading process multiprocessing daemon