我希望获得进程名称,因为它是python中的pid。 在python中有没有直接的方法?
答案 0 :(得分:11)
psutil
包让这很容易。
import psutil
process = psutil.Process(pid)
process_name = process.name()
答案 1 :(得分:2)
如果要查看正在运行的进程,可以使用os
模块执行ps
unix命令
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)