0

我有 python 脚本,想在执行 60 秒后停止工作或终止进程。
不仅仅是停止工作,杀死或死亡过程。
不要为此找到一个好的参考。

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

4

3 回答 3

1

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

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

在windows下,你可以用守护线程启动你的工作,而主线程休眠60s然后退出。例如(未在 Windows 下测试):

from time import sleep
from threading import Thread

thrd = Thread(target=you_function_to_run)
thrd.daemon = True
thrd.start()
sleep(60)
于 2013-11-11T07:56:45.823 回答
1

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

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

例如,如果你想执行一个名为 script.py 的程序:

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

于 2013-11-11T07:58:33.703 回答
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
于 2013-11-11T08:08:59.920 回答