В настоящее время я запускаю подпроцесс в Python 3.7 (браузер Jupyter Notebook). Я использую функцию signal_handler () для приостановки и возобновления подпроцесса в соответствии с вводом пользователя в реальном времени.
p = subprocess.Popen('some process', stdout=subprocess.PIPE)
def signal_handler(signal, frame):
txt = int(input('enter a number: '))
if txt = 0:
sys.exit(0)
if txt = 1:
pass
while True:
#some action
В настоящее время, когда я прерываю программу и ввожу 0, программа завершается. Однако, когда я ввожу 1, чтобы возобновить действие в подпроцессе, и пока l oop, подпроцесс снова выдает SIGINT и останавливается, а не возобновляет работу, как обычно. Я пытаюсь создать параметр в signal_handler, чтобы игнорировать SIGINT и продолжить подпроцесс в обычном режиме, если я «случайно» прерву ядро и подниму SIGINT. Как мне это сделать? Спасибо!