以最简单的方式在60秒后杀死Python脚本

时间:2013-11-11 07:53:40

标签: python

我有python脚本,并希望在执行60秒后停止工作或终止进程 不只是停止工作,杀死或死亡过程 没有找到一个很好的参考。

P.S :杀死python脚本本身(就像一个带有第一行脚本的计时器,一段时间后杀死脚本)
P.S2 :我在Windows上并希望将其编译为.exe P.S3 :Python版本为2.7

3 个答案:

答案 0 :(得分:1)

在* nix下,您可以使用闹钟:

import signal  
signal.alarm(TIME_TO_DIE)
# your code goes on

在windows下,您可以使用启动作业作为守护程序线程,而主线程睡眠60秒然后退出。例如(未在Windows下测试):

from time import sleep
from threading import Thread

thrd = Thread(target=you_function_to_run)
thrd.daemon = True
thrd.start()
sleep(60)

答案 1 :(得分:1)

如果您使用的是Linux,可以试试这个:

(cmdpid=$BASHPID; (sleep 60; kill $cmdpid) & exec YOUR_COMMAND)

例如,如果要执行名为script.py的程序:

(cmdpid=$BASHPID; (sleep 60; kill $cmdpid) & exec python script.py)

答案 2 :(得分:1)

这个怎么样?

import os, sys
import threading

pid = os.getpid()
def quit_system():
    os.system('kill %d'%pid)

t = threading.Timer(5.0, quit_system)
t.start()

while(True):
    1 + 1