Существует ли правильный способ создания сценария, который циклически просматривает файлы в папке и выполняет подпроцесс, который можно внешне убить с помощью Ctrl C?У меня есть что-то вроде следующего, встроенного в конвейер, и я не могу Ctrl C это из командной строки, когда основной процесс убит.
Пример сценария:
import subprocess
import os
import sys
input_directory = sys.argv[1]
for file in os.listdir(os.path.abspath(input_directory)):
output = file + "_out.out"
command = ['somescript.py', file, output]
try:
subprocess.check_call(command)
except:
print "Command Failed"
Затем я бы запустил программу:
Example_script.py /path/to/some/directory/containing/files/
Во время цикла, если я вижу, что команда не выполнена, я хочу использовать Ctrl CТем не менее, он не работает и продолжает запускать дополнительные подпроцессы, несмотря на то, что основной скрипт был разрушителем с помощью Ctrl C. Есть ли правильный способ написать что-то вроде этого, которое может убить дочерние элементы (дополнительный подпроцесс) с помощью Ctrl C?
Любая помощь или указание мне в направлении очень ценится.В настоящее время я ищу хороший способ сделать.