Lin*_*ner 3 networking bash fedora shell-script services
我有一个在 fedora 22 上运行的脚本,在那里我正在重新启动服务网络作为故障排除调用的一部分service network restart。我想检查该命令是否需要太长时间才能执行。如果时间太长,我想输出一条消息“重新启动网络服务时出错”。否则我想继续脚本。
您可以使用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 这将打印消息但命令继续执行。