如何通过进程名称获取PID?

Meysam:

有什么办法可以在Python中按进程名称获取PID?

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                        
 3110 meysam    20   0  971m 286m  63m S  14.0  7.9  14:24.50 chrome 

例如,我需要获得3110通过chrome

帕德拉克·坎宁安(Padraic Cunningham):

你可以使用进程的名字来的PID pidof通过subprocess.check_output

from subprocess import check_output
def get_pid(name):
    return check_output(["pidof",name])


In [5]: get_pid("java")
Out[5]: '23366\n'

check_output(["pidof",name])将运行命令为"pidof process_name"如果返回码非零,则引发CalledProcessError。

要处理多个条目并转换为整数:

from subprocess import check_output
def get_pid(name):
    return map(int,check_output(["pidof",name]).split())

在[21]中:get_pid(“ chrome”)

Out[21]: 
[27698, 27678, 27665, 27649, 27540, 27530, 27517, 14884, 14719, 13849, 13708, 7713, 7310, 7291, 7217, 7208, 7204, 7189, 7180, 7175, 7166, 7151, 7138, 7127, 7117, 7114, 7107, 7095, 7091, 7087, 7083, 7073, 7065, 7056, 7048, 7028, 7011, 6997]

或通过该-s标志获取单个pid:

def get_pid(name):
    return int(check_output(["pidof","-s",name]))

In [25]: get_pid("chrome")
Out[25]: 27698

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过进程名称获取pid

如何使用Python在Linux中通过pid获取进程名称?

如何通过名称而不是PID杀死进程?

跨平台通过python中的进程名称获取PID的方法

如何通过已知的PID / TID获取JVM线程名称/ ID

需要通过使用批处理文件更改PID来获取进程名称

通过 displayNameFile 的名称获取进程

通过进程名称而不是PID杀死Java进程(在Linux中)

如何解析netstat命令以从中获取进程名称和PID?

如何在Alpine中使用ps命令获取特定PID的进程名称

如果我只知道使用proc在Linux中的进程名称,如何获取pid

如何通过Python查找进程的pid?

如何通过名称杀死进程?

通过服务名称获取Windows服务的PID

如何使用pexpect获取生成的进程的pid?

如何在Python中获取进程的pid

通过名称而不是pid杀死多个进程

无法在Python中按名称获取进程的PID

在AppleScript中获取进程名称相同但pid不同的窗口

如何在不枚举进程的情况下通过C ++从Windows中的进程ID获取进程名称?

如何通过使用Java在Powershell中获取进程名称和ID来区分系统进程和正常进程

无论如何,在Windows上使用Python通过PID或名称获取过程信息吗?

如何使用程序名称而不是PID终止进程?

如何获得具有确切名称的进程的pid?

如何在Java中的pid中查找进程名称?

批处理以通过PID或进程名称终止进程,具体取决于用户输入

如何通过其服务名称和脚本来获取进程ID到变量

收到信号后,如何获取发送者进程的更多信息(除PID外)?像进程名称一样,它是参数

进程名称从pid在Linux中