macOS 上的网络设置命令是否有超时?

macOS 上的网络设置命令是否有超时?

我想为网络设置设置 1 秒超时,这样该命令最多不会超过 2 秒。

答案1

一种方法是timeout通过以下方式安装 GNU 工具brew

$ brew install coreutils

您可以看到这timeout是该包的一部分:

$ brew list coreutils | grep timeout
/usr/local/Cellar/coreutils/8.29/bin/gtimeout
/usr/local/Cellar/coreutils/8.29/libexec/gnubin/timeout
/usr/local/Cellar/coreutils/8.29/libexec/gnuman/man1/timeout.1
/usr/local/Cellar/coreutils/8.29/share/man/man1/gtimeout.1

然后这样做:

$ gtimeout 3 networksetup ....

例子

我在这里做了一些额外的事情。我用来time显示该命令仅在 3 秒后退出,我用 a 来保护该命令,如果它超过 5 秒,-k5它将向该命令发送 a 。SIGTERM

$ time gtimeout -k5 3 sleep 10

real    0m3.005s
user    0m0.002s
sys 0m0.003s

相关内容