2013-08-19 3 views
-5

Я пытаюсь узнать, что означает подпроцессы в python? Это похоже на интерфейсы в Java или это совершенно другая тема?Что такое подпроцессы в Python?

Я читал, что это замена более старых модулей, таких как os.system os.spawn* os.popen* popen2.* commands.* Но все же не удалось получить точный и пояснительный учебник на том же самом.

Где они точно используются?

+0

Но, безусловно, это, несомненно, сайт для проверки. – PythonEnthusiast

+0

@ user1162512 Нет, это не так. –

ответ

1

Подпроцессы одинаковы в Python, так как они находятся на любых других языках.

Как вы можете прочитать от the module's documentation, он может (и должен) использоваться для запуска других программ и управления их вводом или выводом.

Например, если вы хотите вычислить сумму SHA1 потока данных, вы можете отключить подпроцесс, вызывающий двоичный код sha1sum, предоставить данные на его stdin, закрыть его и прочитать результат из stdout. (Есть более эффективные способы сделать это, это просто пример.)

Этот модуль предназначен для использования по os.system и другим связанным с ним функциям, поскольку он обеспечивает большую безопасность, гибкость и простоту использования.

+0

Ну, это только копия и вставленный материал из самой документации. Я тоже прочитал это раньше, но не смог понять, и поэтому отправил его на SO. и вы предоставляете тот же самый скопированный материал – PythonEnthusiast

+2

@ user1162512 Может быть, тогда объясните, что это вы не понимаете? Документация довольно ясна. –

+0

@ user1162512 Я не копировал и не вставлял, я объяснил, что они там пишут. Если это недостаточно ясно, сообщите нам, что именно вы не понимаете. – glglgl

4

Чтобы создать подпроцессы!

Это операционная система (ОС) концепция и не имеет ничего общего с интерфейсами Java.

Управление вашей ОС процессов, как и ваша программа на питоне. С модулем subprocess вы можете попросить ОС создать больше таких процессов и связаться с ними.

Процессы контролируются в иерархии, древовидной структуре родителей и детей. Существует один мастер-процесс, который запускался с ядром ОС при загрузке вашего компьютера, а все остальное является либо прямым подпроцессом этого мастер-процесса, либо непрямым дочерним процессом.

Модуль предоставляет API более высокого уровня для этого, чем прямые, прямые переводы функций C-API os.system, os.spawn* и т. Д. С большей гибкостью и безопасностью в отношении проблем безопасности.

Смежные вопросы