0

Python スクリプトがあり、60 秒の実行後に作業を停止するか、プロセスを強制終了したいと考えています。
仕事を止めたり、プロセスを殺したり、死んだりするだけではありません。
このための良いリファレンスが見つかりません。

PS:Pythonスクリプト自体を強制終了します(スクリプトの最初の行を含むタイマーのように、スクリプトを一定時間後に強制終了します)
P.S2:Windowsを使用していて、それを.exeにコンパイルしたい P.S3:Pythonはバージョン2.7です

4

3 に答える 3

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 に答える
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)
于 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 に答える