睡觉在shell脚本中挂起

时间:2015-04-23 07:32:30

标签: linux shell sleep

我在我的Ubuntu PC上运行了一个cron脚本,它定期检查磁盘空间。有一个"睡眠5"也用在这个脚本中。这个系统已经运行了一个月,但遇到了一个问题。有多个cron脚本运行实例(大约数千个)和多个实例" sleep"。

Crontab条目:

* * * * * /root/disk_check_script.sh

disk_check_script.sh的内容:

#!/bin/sh -x

/home/user/linux/process_health_daemons status

if [ $? -ne 0 ]; then

     /home/user/linux/process_health_daemons start

fi

sleep 5


MINIMUM_FREE_SPACE_REQUIRED=50

AVAILABLE_FREE_SPACE=$(df -Ph $HOME | tail -1 | awk '{ print $4}' | awk -F "G" '{ print $1 }')

USED_SPACE=$(df -Ph $HOME | tail -1 | awk '{ print $3}' | awk -F "G" '{ print $1 }')

if [ "$AVAILABLE_FREE_SPACE" -lt "$MINIMUM_FREE_SPACE_REQUIRED" ]; then

        touch /home/user/flag/no_space_left

fi

当我杀死其中一个睡眠过程时,与之相关的cron脚本也完成了。

睡眠经常挂起吗?是否需要重启机器才能避免这种情况?任何其他避免这种情况的方法。

0 个答案:

没有答案