python 中的 psutil 模块

psutil module in python

我是 python 的新手,正在尝试了解 psutil 模块。我的问题是,如果有超过 1 个进程实例(例如 VLC 媒体播放器的两个实例),psutil.kill() 会杀死该进程的所有实例还是只杀死其中一个实例?

没有。 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.