10

我正在编写一个脚本,想知道如何在几秒钟后要求其中一个命令退出。例如。假设我的脚本在其中运行 2 个应用程序命令。

#!/bin/bash

for i in `cat servers`
do
<command 1> $i >> Output_file  #Consistency command
<command 2> $i >> Output_file  #Communication check
done

这些命令用于检查与应用程序之间的一致性和通信。我想知道如何确保命令 1 和 2 仅运行几秒钟,如果特定主机没有响应,请继续执行下一个命令。

4

1 回答 1

14

bash coreutils 有“超时”命令。

从手册:

描述

启动 COMMAND,如果在 NUMBER 秒后仍在运行,则将其终止。SUFFIX 可以是“s”代表秒(默认值)、“m”代表分钟、“h”代表小时或“d”代表天。

例如:

timeout 5 sleep 6

于 2013-05-23T10:55:34.420 回答