J'essaie d'exécuter quelque chose comme:
sudo dhclient $wifi || otherFunction
Le problème est qu'en cas d' dhclient
échec, il se bloque simplement au lieu de lancer une erreur.
Comment puis-je réécrire ce qui précède afin qu'il dhclient
soit tué et otherFunction
soit appelé si dhclient
ne se termine pas dans les 60 secondes?
timeout
pour MacOS: stackoverflow.com/a/21118126/451480timeout
suppression de la commande (par opposition à l'échec de la commande pour d'autres raisons), vérifiez l'état de sortie 124.Utilisez
timeout
.la source
Utilisez l'
timeout
emballage commegtimeout
avec lecoreutils
port dansbrew
:Cela fonctionnera avec
/usr/local/bin
dans votrePATH
. Si vous souhaitez utiliser letimeout
nom d'origine, ajoutez-le/usr/local/opt/coreutils/libexec/gnubin
à votrePATH
.la source