Programing

Bash에서 시간 초과로 프로세스를 실행하는 방법은 무엇입니까?

crosscheck 2020. 7. 30. 09:52
반응형

Bash에서 시간 초과로 프로세스를 실행하는 방법은 무엇입니까? [복제]


가능한 중복 :
주어진 시간 초과 후 자식 프로세스를 종료하는 Bash 스크립트

15 초 동안 특정 명령을 실행하고 명령을 종료하는 쉘 스크립트를 작성하는 방법이 있습니까?

잠을 자고 핑을 시도했지만 잘못 사용하고 있습니다.


다음 timeout명령을 사용하십시오 .

timeout 15s command

참고 : 일부 시스템에서는 설치가 필요하고 coreutils다른 시스템에서는 누락되었거나 다른 명령 줄 인수가 있습니다. @ArjunShankar가 게시 한 대체 솔루션을 참조하십시오. 이를 기반으로 보일러 플레이트 코드를 캡슐화 timeout하고 동일한 작업을 수행하는 자체 휴대용 스크립트 또는 작은 C 앱을 만들 수 있습니다 .


일부 컴퓨터는 timeout설치 / 사용할 수 없습니다. 이 경우 프로세스를 백그라운드로 수행 할 수 있습니다. PID는 다음과 같이 저장됩니다 $!. 그런 다음 필요한 시간 동안 자고 죽이십시오.

some_command arg1 arg2 &
TASK_PID=$!
sleep 15
kill $TASK_PID

이 URL 에서 이를 가능하게 하는 둘 이상의 솔루션이 언급되어 있습니다.

참고 URL : https://stackoverflow.com/questions/10224939/how-to-run-a-process-with-a-timeout-in-bash

반응형