我有一个bash脚本,我在其中调用另一个脚本,有时第二个脚本挂起。有没有办法检查它是否挂起。我不能做任何改变是第二个脚本。
#!/bin/bash
calling second script(thata might hang)
if hang then do something
答案 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
。