我有数据流经Linux盒子和自定义命令,当数据流向STDOUT(屏幕)时打印数据。我想检测数据是否正在流动并重新启动某些进程(如果不是)。
我们的测试文件是" flowchk.sh"。如何在shell脚本中的条件语句中使用它?到目前为止,我的计划是将数据推送到文件,然后检查文件中是否包含任何数据:
timeout 5s flowchk.sh > anythinghere
FILENAME=./anythinghere
MAXSIZE=5000
FILESIZE=$(stat -c%s FILENAME)
if (( FILESIZE > MAXSIZE )); then
echo "all ok"
else
restarteverything!
fi
这遇到了问题,因为在使用我的flowchk脚本时,timeout命令没有正确终止(永远不会返回到命令提示符)。所以我要么需要帮助弄清楚如何在一段时间后停止flowchk的执行(或者它将永远运行)所以我可以测试临时文件以查看是否有任何东西或者我需要知道如果有更好的方法来解决这个问题并且我浪费时间。