Я пытаюсь запустить что-то вроде:
sudo dhclient $wifi || otherFunction
Проблема в том, что когда происходит dhclient
сбой, он просто зависает, а не выдает ошибку.
Как я могу переписать вышесказанное, чтобы dhclient
его убили и otherFunction
вызвали, если dhclient
он не закончил через 60 секунд?
timeout
для MacOS: stackoverflow.com/a/21118126/451480timeout
уничтожения команды (в отличие от сбоя команды по другим причинам), проверьте статус выхода 124.Использование
timeout
.источник
Используйте
timeout
упакованный какgtimeout
сcoreutils
портом вbrew
:Это будет работать
/usr/local/bin
в вашемPATH
. Если вы хотите использоватьtimeout
как первоначально названный, добавьте/usr/local/opt/coreutils/libexec/gnubin
к своемуPATH
.источник