반응형
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\Python27\lib\subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "c:\Python27\lib\subprocess.py", line 679, in __init__
errread, errwrite)
File "c:\Python27\lib\subprocess.py", line 896, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
파이썬으로 간단한 스크립트를 만들때 subprocess.py의 Popen함수를 자주 사용한다.
그럴때마다 이따금씩 위와 같은 에러를 만나게되는데, 내가 해결한 방법 3가지를 적어본다.
① ComSpec 환경변수 조정
stackoverflow에서도 제시하는 방법이다. 나는 Comspec 변수 값을 여러번 쓸데없이 편집해서, 이 부분도 모두 삭제후 다시 편집해줬다.
(유효한지는 솔직히 모르겠다.)
② shell=Ture 파라미터 삽입
초기 코드는 process = subprocess.Popen([ O O O], cwd = 경로) 의 형태로 되어있었다.
여기서 shell=True의 인자를 추가해서 해결했다.
shell 인자는 기본적으로 False로 설정되어있는데, 프로그램 실행하면서 shell을 사용할지 말지를 결정하는 인자이다.
하지만 shell = True로 실행하면, 유효성 검증 없이 실행이 되서 shell injection 에 취약하게 된다고 하니, 유의하는게 좋을 것 같다.
③ 재부팅
이 모든 과정을 했는데도 아무런 변화가 없으면, 재부팅을 해보고 다시 시도해보자.
나는 위 두 과정을 거치고나서, 재부팅을 통해 해결했다.
- 킹부팅 -
반응형
'Rev > Info' 카테고리의 다른 글
How to Debug (0) | 2022.03.31 |
---|---|
랜섬웨어 주요 암호화 알고리즘 (0) | 2022.03.22 |
[Malware] Cobalt Strike (0) | 2022.02.25 |
Find Windows OS (ASLR) (0) | 2022.02.21 |
[Malware] Agent Tesla (0) | 2021.12.30 |