Импортированный подпроцесс при использовании Popen.pid, но ошибка pid не является атрибутом Popen - PullRequest
0 голосов
/ 11 июня 2018

Я узнал о модуле подпроцесса, мой код:

import subprocess,time,sys
from subprocess import Popen

p = subprocess.Popen('start http-server', shell=True)
time.sleep(1)
pp = Popen.pid
print(pp)

Ошибка pid is not defined, но в соответствии с документацией по Python я думаю, Popen.pid - правильный синтаксис.

Я пытаюсь получить pid окна команды, которое было открыто

subprocess.Popen('start http-server',shell=True)

1 Ответ

0 голосов
/ 11 июня 2018

Запустив pp = Popen.pid, вы пытаетесь получить доступ к pid (то есть атрибуту) класса Popen ( документация ).Сам класс, а не объект (экземпляр) этого класса!

Что вы хотели сделать, так это получить доступ к атрибуту pid объекта класса Popen.Вы создали этот объект с p = subprocess.Popen(...).Таким образом, вы можете получить доступ к pid с помощью:

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