Отказано в доступе к скрипту Python Pstuil

Итак, в основном я создал это приложение на питоне, которое использует Psutil. Я использую его для приостановки и возобновления процесса на очень высоких скоростях. Хотя это работает для большинства процессов, для некоторых это не работает. Я предоставлю код ошибки ниже, но если вы решите помочь, пожалуйста, будьте очень дружелюбны к новичкам, я только начинаю работать с python.

import psutil
import time
import subprocess



print("Auto Suspender")

condition = 10

subprocess.call("taskkill /Program example")

print("Program Example has been killed :)")

time.sleep(1)

somepid = int(input("What is Process ID ?"))
p = psutil.Process(somepid)
print("Working...")
time.sleep(0.5)

while condition == 10:
    choice = input("1__Suspend")
    if (choice == "1"):
        while condition == 10:
            p.suspend()
            print("Suspended !")
            time.sleep(0.1)
            p.resume
            print("Resumed !")
    else:
        print("Invalid response")`enter code here`

ОШИБКА Я получаю

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\psutil\_pswindows.py", line 207, in wrapper
    return fun(self, *args, **kwargs)
  File "C:\Python34\lib\site-packages\psutil\_pswindows.py", line 366, in suspend
    return cext.proc_suspend(self.pid)
PermissionError: [WinError 5] Access is denied

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/Jacob/PycharmProjects/Suspender.111/Main.py", line 26, in <module>
    p.suspend()
  File "C:\Python34\lib\site-packages\psutil\__init__.py", line 273, in wrapper
    return fun(self, *args, **kwargs)
  File "C:\Python34\lib\site-packages\psutil\__init__.py", line 1025, in suspend
    self._proc.suspend()
  File "C:\Python34\lib\site-packages\psutil\_pswindows.py", line 213, in wrapper
    raise AccessDenied(self.pid, self._name)
psutil.AccessDenied: (pid=3076)

Process finished with exit code 1

person Jacob .G.    schedule 23.09.2017    source источник
comment
ты нашел ответ   -  person Kandan Siva    schedule 10.10.2018


Ответы (1)


Я думаю о том, что у вас недостаточно прав для приостановки процесса. Некоторые процессы в ОС Windows (и в других ОС тоже) запускаются под другой учетной записью пользователя, в Windows обычно под системной учетной записью, и обычный пользователь не может приостановить или убить эти процессы. Попробуйте запустить свой сценарий от имени администратора, и, возможно, этот сценарий будет работать.

person Pavel Stárek    schedule 23.09.2017
comment
Я пробовал это, но, похоже, не работает. Я надеялся, что есть строка кода, которая даст ему недостающие привилегии. - person Jacob .G.; 23.09.2017