다음과 같은 것을 실행하려고합니다.
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를 확인합니다.