2
나는 모바일 장치에서 로그를 읽기 위해이 코드를 사용하고 있습니다 : 끝없는 하위 프로세스를 올바르게 종료하는 방법은 무엇입니까?
with subprocess.Popen(read_device_logs_cmd, shell=True, stdout=subprocess.PIPE, bufsize=1,
universal_newlines=True, errors="replace") as p:
for line in p.stdout:
save(line)
그래서
p
끝없이 실행됩니다. 편집 : 중요한 정보,이 하위 프로세스는 스레드에서 실행되므로 다른 부분의 코드에서 하위 프로세스 내부의 루프를 조작 할 수 있습니다.
p
을 프로그래밍 방식으로 올바르게 멈추게하려면 어떻게해야합니까?
터미널에서 나는 단지 CTRL + C
을해야만합니다.
p.kill()
또는 p.terminate()
이 작업을 수행합니까?