我multiprocessing.Process
用来防止某些功能运行太久。
我想使用pathos
而不是python multiprocessing
(因为它能够处理标准多处理包无法处理的事情),但似乎缺少一些功能:我在 pathos 中找不到任何允许join
超时的东西争论。
我希望有某种东西可以让我在一段时间过去后终止进程。
(我使用的是 Windows,所以最简单的替代方法 - 使用signal
- 是不可能的,而且替代方法似乎非常复杂)
我multiprocessing.Process
用来防止某些功能运行太久。
我想使用pathos
而不是python multiprocessing
(因为它能够处理标准多处理包无法处理的事情),但似乎缺少一些功能:我在 pathos 中找不到任何允许join
超时的东西争论。
我希望有某种东西可以让我在一段时间过去后终止进程。
(我使用的是 Windows,所以最简单的替代方法 - 使用signal
- 是不可能的,而且替代方法似乎非常复杂)
我是pathos
作者。您可能想尝试multiprocess
,它是multiprocessing
(并且是下面的pathos
)的一个分支。如果您已经安装,您应该已经安装了它pathos
。
您可以Process
使用这两种方法中的任何一种,它具有与中相同的所有功能multiprocessing
(以及来自 的附加序列化功能dill
):
>>> import pathos
>>> pathos.helpers.mp.Process
<class 'multiprocess.process.Process'>
>>> import multiprocess
>>> multiprocess.Process
<class 'multiprocess.process.Process'>
因此,任何multiprocessing
带有timeout
参数的对象也可以如上所述找到。