python中的psutil模块

时间:2015-06-15 07:53:59

标签: python psutil

我是python中的新手并试图了解psutil模块。我的问题是,如果有一个以上的进程实例(例如,两个VLC媒体播放器实例),psutil.kill()是否会杀死该进程的所有实例或只有其中一个实例?

1 个答案:

答案 0 :(得分:1)

没有。 kill是一个在流程对象上调用的方法,因此这是一个找到正确流程的问题。您可以遍历它们:

for proc in psutil.process_iter():
try:
    print("{:4d} {:4d} {:s}".
          format(proc.pid, proc.ppid, proc.exe))
except psutil.AccessDenied:
    pass
except psutil.NoSuchProcess as err:
    print("****",err) 

示例异常处理是处理竞争条件 - 进程可能在查找和查询之间完成。问题是确定您想要杀死的正确进程。通常,您会使用流程ID pidcmdline。如果您确实希望终止所有实例,请使用exe