如何使用特定的 pid在 python 中打开一个进程。我的意思是我想设置进程PID。
编辑:
我想确定与进程一起运行的进程的 PID(例如,使用类Popen
的方法subprocess
)
PID 由操作系统提供,您不能为子进程使用特定的 PID。
要确定子进程的 PID,您可以向子进程询问它:
import subprocess
dateProc = subprocess.Popen([ 'date' ])
print dateProc.pid
如果您的意思是您想知道当前进程的 PID,请使用os.getpid()
.
如果需要知道进程的进程 ID(例如 firefox),则以下代码适用于我(在 Linux 环境中)。在运行代码之前,需要在 env 中安装psutil模块。要安装 psutil,请使用“ easy_install psutil ”命令。
#!/usr/bin/python
import psutil
process = filter(lambda p: p.name == "firefox", psutil.process_iter())
for i in process:
print i.name,i.pid
要检索(例如)“pythoh”进程的 PID,您至少需要两行代码:
import subprocess
pid = int(subprocess.Popen(['pgrep','python'],stdout=subprocess.PIPE).stdout.readline()[:-1])
如果有可能没有具有该名称的进程正在运行,请添加一个 try-except 子句。
如果有很多 'python' 进程,则迭代读取行直到返回 ''。
您可能还需要sudo apt-get install pgrep。
无法设置PID ==>在 linux中更改进程 ID