subprocess timeout not working 원인과 해결법
3줄 요약 먼저 확인할 것은 timeout 값이 아니라 capture_output 입니다. 같은 명령이 캡처를 켜면 20.01초, 끄면 0.00초였습니다. 그다음은 손자 프로세스입니다. timeout=2 로 10회 돌리면 예외는 매번 2.01초에 뜨지만 고아 프로세스가 10개 쌓입니다. 여기서 멈춰도 됩니다. stdout 을 파일로 받거나 start_new_session=True 와 os.killpg 를 붙이면 둘 다 0개·0.00초로 떨어집니다.