Насколько я понимаю, os.popen()
открывает канал внутри Python и запускает новый подпроцесс.У меня проблема, когда я запускаю цикл for в сочетании с os.popen ().Я не могу казаться CTRL + C из цикла.Вот мой код:
for FILE in os.popen("ls $MY_DIR/"):
os.system("./processFile " + FILE)
Всякий раз, когда я пытаюсь CTRL + C , Python останавливает программу ./processFile
, но НЕ саму программу python!
Iу Google есть и не могу найти правильный ответ.Некоторые люди рекомендуют использовать СИГНАЛЫ (я пытался ... это не сработало).Другой пытался использовать PID и убивать дочерние PID, но я никак не мог их получить.
Может ли кто-нибудь привести меня к лучшему примеру, чтобы я мог остановить программирование при использовании CTRL + C (SIGINT)?