Используйте python для опроса подпроцессов по pid - PullRequest
0 голосов
/ 20 июня 2019

Я создал систему очередей для запуска командных оболочек с python, и я запускаю процесс с:

subprocess.Popen(["path_to_shell"], shell=True)

Я пытаюсь опросить этот конкретный процесс из совершенно другого сценария / процесса Python, чтобы я моготслеживать код выхода

Я знаю, что обычно для отслеживания процесса вы создаете объект subprocess.Popen () и получаете информацию .poll ().Мне нужна информация poll () только из идентификатора процесса.Поэтому я могу опросить из другого приложения, чем то, которое запустило подпроцесс.

Я НЕ хочу делать:

psub = subprocess.Popen(something)
# polling

while psub.poll() is None:
    pass

Примерно так:

app1

subprocess.Popen(something)

app2

job = subprocess.from_pid(known_id)

while job.poll() is None:
    pass

запустить процесс с помощью subprocess.Popen () в одной программе, закрывающей эту программу.откройте совершенно другую вторую программу, посмотрите, запустив known_pid, запросите код возврата / завершения этого задания.

Меня не волнует вопрос «что если» процесса заканчивается до открытия второй программы.

Меня не волнует мета-анализ выбора дизайна.

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