Python “禁用”;加入;当进程关闭时
有没有办法阻止Python “禁用”;加入;当进程关闭时,python,multiprocessing,fail-fast,Python,Multiprocessing,Fail Fast,有没有办法阻止多处理Python模块尝试在父进程关闭的子进程上调用并等待join() 2010-02-18 10:58:34750为进程procx1调用join()的信息 我希望我向其发送了SIGTERM的进程尽快退出(即“快速失败”),而不是等待几秒钟才最终放弃加入的尝试 澄清:我有一个“中心流程”,它创建了一系列“子流程”。我正在寻找一种干净地处理来自任何进程的“SIGTERM”信号的方法,以便将整个进程树拆下。您是否尝试显式使用?您可以尝试加入一个超时(1秒?)的循环,并检查线程是否仍处于
多处理
Python模块尝试在父进程关闭的子进程上调用并等待join()
2010-02-18 10:58:34750为进程procx1调用join()的信息
我希望我向其发送了SIGTERM
的进程尽快退出(即“快速失败”),而不是等待几秒钟才最终放弃加入的尝试
澄清:我有一个“中心流程”,它创建了一系列“子流程”。我正在寻找一种干净地处理来自任何进程的“SIGTERM”信号的方法,以便将整个进程树拆下。您是否尝试显式使用?您可以尝试加入一个超时(1秒?)的循环,并检查线程是否仍处于活动状态,例如:
while True:
a_thread.join(1)
if not a_thread.isAlive(): break
终止a_线程
将触发break
子句。听起来像是设置子进程标记Process.daemon=False
可能是您想要的:
:
进程的守护进程标志,一个布尔值。必须在调用start()之前设置此选项。
初始值从创建过程中继承。
当进程退出时,它会尝试终止其所有daemonic子进程
请注意,不允许daemonic进程创建子进程。否则,如果daemonic进程在其父进程退出时终止,它将使其子进程处于孤立状态。此外,这些不是Unix守护进程或服务,它们是将被终止(而不是加入)的正常进程如果非dameonic进程已退出。感谢您的时间:我不想等待加入
s通过。感谢您的时间:我有一堆子进程,因此您的建议不充分。我已接受此答案,因为它最接近我提出的方案。