使用PSUTIL终止进程

use*_*549 5 python windows-xp windows-7

我正在寻找编写一些代码,这些代码将根据进程的名称和拥有者终止该进程。在Windows XP上这可以正常工作,但是当我尝试在Windows 7上运行相同的代码时,尝试获取进程的用户名时出现“访问被拒绝”错误。

有没有更简单的方法来终止将在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()
Run Code Online (Sandbox Code Playgroud)

Rem*_*anu 3

如果您没有使用 PSUTIL 终止进程的权限,那么您将无法使用其他任何程序来终止该进程。显然,首先想到的是UAC,它恰好出现在 XP 和 Windows 7 之间。这意味着您的 PSUTIL 必须从提升的提示符下运行,这并不奇怪。添加清单以请求海拔