如何检查命令是否在bash脚本中被挂起?

时间:2016-12-02 07:11:20

标签: linux bash

我有一个bash脚本,我在其中调用另一个脚本,有时第二个脚本挂起。有没有办法检查它是否挂起。我不能做任何改变是第二个脚本。

#!/bin/bash
calling second script(thata might hang)

if hang then do something

1 个答案:

答案 0 :(得分:2)

如果您已经知道阈值时间,那么该脚本被认为是挂起的。你可以使用timeout

timeout 30 bash script.sh

命令bash script.sh将一直运行,直到它在30秒内完成或被超时杀死。您可以根据您的环境调整时间。

命令参考:

timeout
Usage: timeout [OPTION] DURATION COMMAND [ARG]...
  or:  timeout [OPTION]
Start COMMAND, and kill it if still running after DURATION.

请参阅man page各自的options