Я хочу получить вывод моего подпроцесса. Поскольку он работает бесконечно, я хочу прекратить его, когда выполняются определенные условия.
Когда я запускаю подпроцесс с помощью check_output
, я получаю вывод, но не могу обработать прерывание процесса:
output = subprocess.check_output(cmd, shell=True)
Когда я запускаю подпроцесс с помощью Popen
или run
, я получаю дескриптор для завершения процесса, но без вывода.
p = subprocess.Popen(cmd, shell=True, preexec_fn=os.setsid)
Как я могу получить оба?