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


问题内容

我想获取进程名称,因为它在python中为pid。python中有任何直接方法吗?


问题答案:

如果要查看正在运行的进程,可以使用os模块执行psunix命令

import os
os.system("ps")

这将列出进程。

但是,如果您想通过ID获取进程名称,可以尝试ps -o cmd= <pid> 使用python代码,

import os
def get_pname(id):
    return os.system("ps -o cmd= {}".format(id))
print(get_pname(1))

更好的方法是使用subprocess和管道。

import subprocess
def get_pname(id):
    p = subprocess.Popen(["ps -o cmd= {}".format(id)], stdout=subprocess.PIPE, shell=True)
    return str(p.communicate()[0])
name = get_pname(1)
print(name)