процесс убийства питона во время сна - PullRequest
2 голосов
/ 01 марта 2012

У меня есть некоторый файл 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 Ответ

1 голос
/ 01 марта 2012

В среде командной строки вы можете прервать выполнение сценария, используя Ctrl + C (SIGINT) :

$ python -c'import time; time.sleep(300)'
^CTraceback (most recent call last):
  File "<string>", line 1, in <module>
KeyboardInterrupt
...