我在我的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脚本也完成了。
睡眠经常挂起吗?是否需要重启机器才能避免这种情况?任何其他避免这种情况的方法。