2016-07-19 8 views
3

파이썬 3.5 및 윈도우 7을 사용하고 있습니다. exe 파일을 열고 종료하려고합니다. 나는 그것을 여는 데 성공했지만, 나는 그것을 닫을 수 없다. 여기에 내 코드의 축약 버전이다 : 나는 또한 open.kill 시도했습니다파이썬 - 프로세스를 죽일 수 없습니다

from subprocess import Popen 

open = Popen(["filename"], shell = True, cwd = "path\to\file") 
open.terminate() 

(), os.kill (open.pid, 0) os.system을가 ("에서 taskkill/IM/F의 파일 이름 .exe "). 나는 또한 shell = True를 사용하지 말라는 제안을 발견했지만, Popen이 그것 없이는 작동하지 못하게했다. 이 옵션들 중 어느 것도 오류를 발생시키지 않고 열어 본 파일을 닫지 않습니다.

나는 비슷한 오류를 온라인에서 발견했으나 이에 대한 구체적인 해결책이없는 것 같습니다. 내가 읽은 잠재적 인 해결책 (위에 열거 된 가장 일반적인 것)은 나를 위해 일하지 않았다. 이것에 대한 해결책이 있습니까?

답변

1

셸 = False로 밝혀졌습니다. 다음은 성공적인 코드입니다.

open = Popen(["path\to\file\filename"]) 
open.terminate()