Поиск pid для выполнения скрипта Python B на терминале с использованием popen из скрипта Python APython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Поиск pid для выполнения скрипта Python B на терминале с использованием popen из скрипта Python A

Сообщение Anonymous »

У меня есть скрипт Python «A», который использует subprocess.Popen для запуска терминала gnome, а затем выполняет там другой скрипт Python «B». Я застрял в получении pid для этого недавно созданного терминала gnome, чтобы я мог завершить его позже, когда сочту нужным.
Вот как работает скрипт Python "B" " выполняется из скрипта Python "A":

Код: Выделить всё

process = subprocess.Popen(["gnome-terminal", "--", "bash", "-c", "python scriptB.py"])
Это моя попытка найти pid для процесса, его родительского, родительского и его потомков:

Код: Выделить всё

print(process.pid)                                          # prints 5152
print(psutil.Process(process.pid).children(recursive=True)) # len is 0
parent = psutil.Process(process.pid).parent()
print(parent)                                               # prints 5151
parent = psutil.Process(parent).parent()
print(parent)                                               # prints 4372
Ни один из этих pids на самом деле не указывает на интересующий меня pid, который в данном случае равен 5158. Завершение pid 5152 не убивает новый терминал gnome.
Когда я запускаю ps ax, я получаю следующее:

Код: Выделить всё

5151 pts/0    S+     0:00 python test_process.py
5152 pts/0    Z+     0:00 [gnome-terminal] 
5158 pts/1    Rs+    0:10 /anaconda3/envs/env1/bin/python3 scriptB.py
5164 pts/2    R+     0:00 ps ax
Как скрипт Python «A» может найти этот pid (5158) наиболее подходящим способом?
Обновление:
В версии для Windows , я использую:

Код: Выделить всё

process = subprocess.Popen(["cmd", "/c", f"start cmd /k python scriptB.py"])
и поиск pid в Windows такой же, как и в версии для Linux. Но и здесь мне не везет.

Подробнее здесь: https://stackoverflow.com/questions/784 ... rom-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»