0

multiprocessing.Process用来防止某些功能运行太久。

我想使用pathos而不是python multiprocessing(因为它能够处理标准多处理包无法处理的事情),但似乎缺少一些功能:我在 pathos 中找不到任何允许join超时的东西争论。

我希望有某种东西可以让我在一段时间过去后终止进程。

(我使用的是 Windows,所以最简单的替代方法 - 使用signal- 是不可能的,而且替代方法似乎非常复杂)

4

1 回答 1

3

我是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参数的对象也可以如上所述找到。

于 2017-01-20T16:39:06.867 回答