У меня есть файл 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' – jfs