私はいくつかの時間をスリープ状態にし、その後いくつかのプロセスを終了させるためにいくつかのpythonファイルを持っています。 しかし、ユーザーが気を変えて私のpythonプログラムを終了したい場合、彼はシステムモニタに行く必要があります。インスタンスがスリープしているためです。睡眠中にPythonプロセスを殺す
import subprocess
import os
import signal
import datetime
import time
def kill():
time.sleep(3600) #sleep for 1 hour
#here goes terminating, for example "gedit" process after sleeping
proc = subprocess.Popen(["pgrep", "gedit"], stdout=subprocess.PIPE)
for pid in proc.stdout:
os.kill(int(pid), signal.SIGTERM)
if __name__ == "__main__":
kill()
私は、ユーザーが望むならば、私はこの睡眠1を殺すために別のプロセスを作成する必要があります知っているが、私はどのように理解することはできません。ヘルプしてください
あなたが Ctrl+C (SIGINT
)を使用してスクリプトを中断することができ、コマンドライン環境で
'subprocess.call([ 'pkillは'、 'geditの'])'の代わりに 'pgrep' – jfs