psutil을 사용하여 Windows 7에서 프로세스의 PID를 얻으려고 시도했지만 권한 오류가 발생했습니다. 관리자로 스크립트를 실행하는 명령 프롬프트를 실행 해 보았지만 아무런 효과가없는 것으로 보입니다. 오류 및 관련 코드는 모두 아래에 있습니다. 오류가 발생한 행은 proc.name
을 사용하여 프로세스 이름에 액세스하려고 시도하는 경우입니다. 이 문제를 어떻게 해결할 수 있을지에 대한 제안이 있으십니까? 많이 고마워!Python - psutil Windows 권한 오류?
오류 :
Traceback (most recent call last):
File "C:\Python33\lib\site-packages\psutil\_psmswindows.py", line 190, in wrapper
return fun(self, *args, **kwargs)
File "C:\Python33\lib\site-packages\psutil\_psmswindows.py", line 229, in get_process_exe
return _convert_raw_path(_psutil_mswindows.get_process_exe(self.pid))
PermissionError: [WinError 5] Access is denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "simple_address_retrieve.py", line 14, in <module>
if proc.name == PROCNAME:
File "C:\Python33\lib\site-packages\psutil\_common.py", line 48, in __get__
ret = self.func(instance)
File "C:\Python33\lib\site-packages\psutil\__init__.py", line 341, in name
name = self._platform_impl.get_process_name()
File "C:\Python33\lib\site-packages\psutil\_psmswindows.py", line 190, in wrapper
return fun(self, *args, **kwargs)
File "C:\Python33\lib\site-packages\psutil\_psmswindows.py", line 222, in get_process_name
return os.path.basename(self.get_process_exe())
File "C:\Python33\lib\site-packages\psutil\_psmswindows.py", line 194, in wrapper
raise AccessDenied(self.pid, self._process_name)
psutil._error.AccessDenied: (pid=128)
코드 :
PROCNAME = "MyProcessName.exe"
for proc in psutil.process_iter():
if proc.name == PROCNAME:
print(proc)
자세한 정보 (액세스가 거부 된 경우) : https://groups.google.com/forum/?fromgroups=#!topic/psutil/oxAd0BuAzt0[1-25-false ] – Gerrat
proc.name에 액세스 할 때 AccessDenied를 얻는 경우 예외가 발생하면 proc.name에 액세스 할 수 없습니다. – Gerrat
맞아요, 감사합니다! – nickzam