WindowsError:[错误5]访问被拒绝

时间:2011-07-14 05:26:47

标签: python

我一直试图杀死一个进程但是我的所有选项都给了我一个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。我很感激你的帮助!谢谢!

3 个答案:

答案 0 :(得分:1)

有趣的是,这意味着拒绝访问。您无权终止该进程。这可能是由于您的帐户级别(“访客”类型的帐户或受组策略限制的帐户),或者可能是由于UAC(管理员在您自己的计算机上但未以管理员身份运行) - 不确定Windows 7是否允许非 - 高效的进程杀戮,虽然我会认为它会。)

答案 1 :(得分:1)

如果有人感兴趣的解决方法 - 即使作为管理员,我在使用os.kill时会在某些服务上获得拒绝访问权限。但是,这有效:

import subprocess
subprocess.check_output("Taskkill /PID %d /F" % pid)

因此,如果您不关心跨平台并想要快速而肮脏的解决方案 - 请尝试使用此方法。

答案 2 :(得分:0)

Okey,所以我遇到了同样的问题,你有一些烦人的api我遇到了问题“好吧,我没有必要安装更新,是或是”,但不,我做了下。

警告; 在开始第7步之前尝试在完成第6步时安装python,如果仍然不能正常工作,请尝试从第7步开始。

  1. 安装vcredist_x86(如果您有64位操作系统 install the 64 bits version )。
  2. 转到我的电脑。
  3. 输入本地光盘(C:/或其中的任何字母)。
  4. 再次点击用户>属性>安全>高级。
  5. 所有者>编辑>在要更改的所有者列表中,选择新所有者> Clic选项。 “添加对所有子文件夹的更改”。
  6. 完成后Clic ok两次。
  7. 转到权限。
  8. 选择您的用户。
  9. Clic完全控制。
  10. 应用更改并关闭属性,然后安装python。
  11. 这对我有用。