我一直在学习子流程模块,我的代码是:
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)
通过运行pp = Popen.pid
,您正在尝试访问Popen
类(文档(的pid
(因此是一个属性(。类本身,而不是该类的对象(实例(!
您要做的是访问类Popen
的对象的属性pid
。您使用p = subprocess.Popen(...)
创建了此对象。因此,您可以通过以下方式访问其pid
:
pp = p.pid