如何检查命令是否被挂在bash脚本中?
问题描述:
我有一个bash脚本,我在其中调用另一个脚本,有时会挂起第二个脚本。有没有办法检查它是否挂起。我不能做任何改变是第二个脚本。如何检查命令是否被挂在bash脚本中?
#!/bin/bash
calling second script(thata might hang)
if hang then do something
答
如果您已经知道阈值时间,那么在该脚本被认为挂起之后。你可以使用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
。