n秒后如何退出命令?

时间:2013-05-23 10:51:37

标签: bash exit

我正在编写一个脚本,想知道如何在几秒钟之后让其中一个命令退出。例如。假设我的脚本在其中运行了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&amp; 2只运行几秒钟,如果没有来自特定主机的响应,请转到下一个命令。

谢谢

1 个答案:

答案 0 :(得分:13)

bash coreutils有'timeout`命令。

来自手册:

  

说明

     

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

例如:

timeout 5 sleep 6