代码之家  ›  专栏  ›  技术社区  ›  anon

如果一个Python进程在某个时间内没有完成,就终止它?

  •  2
  • anon  · 技术社区  · 14 年前

    下面是场景: 我有一个用AJAX从浏览器调用的Python脚本。我希望Python脚本运行并返回其输出,但是如果它在10秒内未能成功运行,我希望脚本中止并返回一些其他进程。另外,在一开始,我想记录下请求是什么。

    下面是我设计它的思路: 指挥官脚本 调用三个脚本,生成为子进程? 一。要执行并返回其结果的主代码 2。第二个脚本,等待10秒,然后返回False 三。第三个脚本,将请求记录到数据库中 指挥官脚本将返回(1)的结果或从(2)中听到的错误。

    你将如何实现这一点?我不知道是否应该将线程库或操作系统库与子进程一起使用。

    还是有更好的办法?

    3 回复  |  直到 14 年前
        1
  •  0
  •   Utku Zihnioglu    14 年前

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

        2
  •  1
  •   ecik    14 年前

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