如何使用python代码获取所有正在运行的进程的PID列表?

时间:2019-01-31 05:57:46

标签: python-3.x

我正在一个项目,该项目需要所有正在运行的进程的PID列表。我想要通过python编程语言。如何获得?感谢在广告中。

1 个答案:

答案 0 :(得分:3)

如果您使用的是Linux,请使用subprocess.Popen生成ps - ef命令,然后从中获取第二列。以下是示例。

import subprocess as sb

proc_list = sb.Popen("ps -ef | awk '{print $2} ' ", stdout=sb.PIPE).communicate()[0].splitlines()

for pid in proc_list:
    print(pid)

如果要使其独立于平台,请使用psutil.pids(),然后遍历pid。您可以详细了解here,其中有许多示例说明了您可能想要实现的目标。

希望这会有所帮助。

请执行任何错字,如果有的话,我只是从移动设备发布。

如果要使用带有pid和进程名称的字典,则可以使用以下代码:

import psutil

dict_pids = {
    p.info["pid"]: p.info["name"]
    for p in psutil.process_iter(attrs=["pid", "name"])
}