使用 Popen.pid 时导入的子进程,但错误是 pid 不是 Popen 的属性



我一直在学习子流程模块,我的代码是:

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

最新更新