如果在某段时间内没有完成,请杀死Python进程?

时间:2010-11-28 22:02:55

标签: python multithreading process

以下是该方案: 我有一个使用AJAX从浏览器调用的Python脚本。我希望Python脚本运行并返回其输出,但是如果它在10秒内无法成功运行,我希望脚本中止并返回其他一些进程。此外,在一开始,我想记录请求的内容。

以下是我在构思它的方法: 指挥官剧本   调用三个脚本,作为子进程生成?     1.执行和返回结果的主要代码     2.第二个脚本,等待10秒,然后返回False     3.第三个脚本,用于在数据库中记录请求 指挥官脚本将从(1)返回结果,如果从(2)返回,则返回错误。

你将如何实际实现这一目标?我无法弄清楚我是否应该使用线程库或带有子进程的os库。

或者有更好的方法吗?

3 个答案:

答案 0 :(得分:1)

如果此脚本在类Unix系统下运行,您可以使用SIGALRM来执行此操作。 python docs中有一个例子。

答案 1 :(得分:0)

答案 2 :(得分:0)

我强烈建议使用Python的multiprocessing库。它有process.terminate()个方法。