使用PSUTIL杀死进程

我正在寻找一些代码,这些代码会基于它的名称和拥有它的进程来终止进程.这在
Windows XP上工作正常但是当我在Windows 7上运行相同的代码时,我在尝试获取进程的用户名时遇到了Access Denied错误.

是否有更简单的方法可以杀死可在XP和Win7上运行的进程?

实际上需要检查进程是否由’SYSTEM’拥有,因此我可以检查进程何时完成用户进程,因为SYSTEM进程仍然存在,并且我不关心这个.

谢谢.

PROCNAME = 'python.exe'
for proc in psutil.process_iter():
  if proc.name == PROCNAME:
    p = psutil.Process(proc.pid)

    if not 'SYSTEM' in p.username:
      proc.kill()

最佳答案 如果您没有使用PSUTIL杀死进程的权限,那么您将无法使用其他任何进程.首先想到的是
UAC,它恰好出现在XP和Windows 7之间.这意味着你的PSUTIL必须从提升的提示运行,这并不奇怪.将清单添加到
request elevation.

点赞