Как работает subprocess в Python?

Middle
235 просмотров
AFK Offer AI

subprocess — модуль для запуска внешних процессов. subprocess.run(["ls", "-l"]) — запускает и ждёт. capture_output=True — захват stdout/stderr. check=True — кидает CalledProcessError при ненулевом exit code. shell=True — запуск через shell (опасно с пользовательским вводом — инъекции). Popen — низкоуровневый API для интерактивных процессов: stdin/stdout как pipe, poll(), communicate(). Для простых случаев — run(), для сложных (стриминг, интерактив) — Popen.

Следующий вопрос

Как устроен CPython внутри?