我是python中的新手并试图了解psutil
模块。我的问题是,如果有一个以上的进程实例(例如,两个VLC媒体播放器实例),psutil.kill()
是否会杀死该进程的所有实例或只有其中一个实例?
答案 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 pid
或cmdline
。如果您确实希望终止所有实例,请使用exe
。