我正在寻找一些代码,这些代码会基于它的名称和拥有它的进程来终止进程.这在
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.