subprocess.run을 timeout 옵션을 주어 돌렸는데도 끝나지 않는다면The timeout argument is passed to Popen.communicate(). If the timeout expires, the child process will be killed and waited for. The TimeoutExpired exception will be re-raised after the child process has terminated. 요거 때문에 그렇다. child process들이 끝날때까지 다 기다리느라구 안끝나는거임.. 그럴때는 그냥popen으로 proc 생성하고 communicate에 timeout 줘서 돌린담에 TimeoutExpired 에러 났을때 proc.kill(..