Bash, jeśli polecenie nie zakończy się w czasie X?


13

Próbuję uruchomić coś takiego:

sudo dhclient $wifi || otherFunction

Problem polega na tym, że gdy dhclientzawiedzie, po prostu zawiesza się zamiast generować błąd.

Jak mogę ponownie napisać powyższe, aby dhclientzostał zabity i otherFunctionzostaje wezwany, jeśli dhclientnie skończy się w ciągu 60 sekund?

Odpowiedzi:




2

Użyj timeoutzapakowanego jak gtimeoutz coreutilsportem w brew:

brew install coreutils
gtimeout --help

To zadziała /usr/local/binw twoim PATH. Jeśli chcesz używać timeoutoryginalnie nazwanego, dodaj /usr/local/opt/coreutils/libexec/gnubindo swojego PATH.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.