我正在尝试运行类似的东西:
sudo dhclient $wifi || otherFunction
问题是当dhclient
失败时它只是挂起而不是抛出错误。
如果60 秒内没有完成,我该如何重写上面的代码,以便dhclient
被杀死并被otherFunction
调用?dhclient
答案1
答案2
使用timeout
。
timeout 2 sleep 1
echo $?
0
timeout 1 sleep 2
echo $?
124
答案3
使用与端口timeout
相同的包装gtimeout
coreutils
brew
:
brew install coreutils
gtimeout --help
这将/usr/local/bin
在你的PATH
.如果您想timeout
按最初的名称使用,请将其添加/usr/local/opt/coreutils/libexec/gnubin
到您的PATH
.