我一直试图杀死一个进程但是我的所有选项都给了我一个Windows Access Denied Error。
我通过test= subprocess.Popen([sys.executable, "testsc.py"])
打开进程(python脚本),我想杀死这个进程。
到目前为止,我已尝试过os.kill(pid, signal.SIGILL)
,os.kill(pid, 9)
,test.Terminate()
和test.kill()
。所有这些都给了我错误。
我在Windows 7 x86计算机上使用Python 2.7.1.4。我很感激你的帮助!谢谢!
答案 0 :(得分:1)
有趣的是,这意味着拒绝访问。您无权终止该进程。这可能是由于您的帐户级别(“访客”类型的帐户或受组策略限制的帐户),或者可能是由于UAC(管理员在您自己的计算机上但未以管理员身份运行) - 不确定Windows 7是否允许非 - 高效的进程杀戮,虽然我会认为它会。)
答案 1 :(得分:1)
如果有人感兴趣的解决方法 - 即使作为管理员,我在使用os.kill
时会在某些服务上获得拒绝访问权限。但是,这有效:
import subprocess
subprocess.check_output("Taskkill /PID %d /F" % pid)
因此,如果您不关心跨平台并想要快速而肮脏的解决方案 - 请尝试使用此方法。
答案 2 :(得分:0)
警告强>; 在开始第7步之前尝试在完成第6步时安装python,如果仍然不能正常工作,请尝试从第7步开始。
这对我有用。