“服务网络重启”超时

Lin*_*ner 3 networking bash fedora shell-script services

我有一个在 fedora 22 上运行的脚本,在那里我正在重新启动服务网络作为故障排除调用的一部分service network restart。我想检查该命令是否需要太长时间才能执行。如果时间太长,我想输出一条消息“重新启动网络服务时出错”。否则我想继续脚本。

cof*_*Mug 5

您可以使用timeoutcommand 在给定的超时时间内运行您的命令或脚本。类似的东西:

timeout 10m command 
Run Code Online (Sandbox Code Playgroud)

等待命令在 10 分钟内完成,否则会杀死它并以状态 124 退出。然后您可以检查退出状态timeout并根据它打印适当的消息。有关更多信息,请参见此处:超时联机帮助页。

如果您不想终止长命令,请执行以下操作:

(( sleep $TIMEOUT; echo "command took so long!" ) & exec $COMMAND )
Run Code Online (Sandbox Code Playgroud)

在 TIMEOUT 这将打印消息但命令继续执行。