1

如何使用特定的 pid在 python 中打开一个进程。我的意思是我想设置进程PID。

编辑:

我想确定与进程一起运行的进程的 PID(例如,使用类Popen的方法subprocess

4

3 回答 3

4

PID 由操作系统提供,您不能为子进程使用特定的 PID。

要确定子进程的 PID,您可以向子进程询问它:

import subprocess

dateProc = subprocess.Popen([ 'date' ])
print dateProc.pid

如果您的意思是您想知道当前进程的 PID,请使用os.getpid().

于 2013-03-27T14:40:09.897 回答
2

如果需要知道进程的进程 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
于 2013-03-27T14:59:26.553 回答
-1

要检索(例如)“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

于 2013-03-27T15:27:49.637 回答