процесс, запущенный подпроцессом python, не существует - PullRequest
1 голос
/ 19 сентября 2011

Я запускаю программу 'mstsc' в win7, используя подпроцесс python:

>>> import subprocess
>>> p=subprocess.Popen('mstsc')
>>> p.pid
8884  

Однако процесс '8884' не существует, когда я проверяю монитор процессов Windows, и существует еще один 'mstsc'. Поэтому мне интересно, создает ли mstsc другой подпроцесс при вызове подпроцесса. Пожалуйста, помогите?

1 Ответ

6 голосов
/ 19 сентября 2011

Ну, я все еще новичок в Python, но все же вы можете пройти через это.

Класс Popen использует функцию CreateProcess в Windows для выполнения дочерней программы.Функция CreateProcess Создает новый процесс и его основной поток.Этот новый процесс выполняется в контексте безопасности вызывающего процесса.

Внутренне он использует функции CreateProcessAsUser или CreateProcessWithLogonW для запуска нового процесса в контексте безопасности пользователя.

Что согласно моемупонимание даст другой pid для фактического выполнения suprocess.Popen ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...