【发布时间】:2023-03-26 23:55:01
【问题描述】:
我有一些 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()
我知道如果用户需要,我必须创建另一个进程来杀死这个休眠的进程,但我不明白如何。请帮忙
【问题讨论】:
-
subprocess.call(['pkill', 'gedit'])而不是pgrep
标签: python linux subprocess