我正在一个项目,该项目需要所有正在运行的进程的PID列表。我想要通过python编程语言。如何获得?感谢在广告中。
答案 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"])
}