我有python脚本,并希望在执行60秒后停止工作或终止进程 不只是停止工作,杀死或死亡过程 没有找到一个很好的参考。
P.S :杀死python脚本本身(就像一个带有第一行脚本的计时器,一段时间后杀死脚本)
P.S2 :我在Windows上并希望将其编译为.exe
P.S3 :Python版本为2.7
答案 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