다음과 같은 것을 실행하려고합니다.
sudo dhclient $wifi || otherFunction
문제는 dhclient
가 실패하면 오류가 발생하는 대신 멈 춥니 다.
위의 내용을 다시 작성할 수 있으므로 dhclient
는 dhclient
가 60 초 내에 완료되지 않으면 종료되고 otherFunction
가 호출됩니다.
Answer
시간 제한 태그는 모든 것을 제공합니다.
sudo timeout 60 dhclient $wifi || otherFunction
예 :
sudo timeout 3 sleep 5 || echo finished early
시간 제한 유틸리티 를 사용합니다. Linux의 GNU coreutils 패키지에서 제공합니다.
댓글
Answer
timeout
를 사용합니다.
timeout 2 sleep 1 echo $? 0 timeout 1 sleep 2 echo $? 124
댓글
- 안타깝게도 ' MacOS에서 작동하지 않습니다.
답변
iv id = “와 함께 gtimeout
로 포장 된 timeout
사용 74b44116b4 “>
포트 ( brew
) :
brew install coreutils gtimeout --help
PATH
의 /usr/local/bin
에서 작동합니다. 원래 이름대로 timeout
를 사용하려면 /usr/local/opt/coreutils/libexec/gnubin
를 PATH
에 추가합니다.
timeout
(MacOS 용) : stackoverflow.com/a/21118126/451480timeout
살인을 구체적으로 확인하려면 e 명령 (다른 이유로 실패한 명령과 반대로)은 종료 상태 124를 확인합니다.