递归脚本

时间:2016-02-24 21:54:08

标签: macos bash shell terminal

我有一个在前台运行的脚本,有时这个脚本停留在进程中(没有关闭)因为系统故障而无法工作(就像驱动器无法访问)。

我希望每当发生这种情况时;它会在不退出脚本的情况下终止进程并重新运行。

到目前为止,我知道如何获取特定脚本的PID(使用命令$$),我可以用(kill -9 $$)杀死脚本,但这会导致脚本关闭,我想要它保持开放。

这是我的剧本;任何帮助将不胜感激。

此外,我还在Mac终端中运行此脚本。

n=1 ;

while true ; do

acd_cli -d -nl mount -fg /Users/Danial/amazon && 

if [ `find /Users/Danial/amazon -prune -empty` ] ; then
    sleep 30
fi ;

if [ `find /Users/Danial/amazon -prune -empty` ] ; then
    echo "=============================================="
    echo "System were down  $(date)"
    echo "=============================================="
    acd_cli umount /Users/Danial/amazon
else
    echo "=============================================="
    echo "System were ok at $(date)"
    echo "=============================================="
fi ;

n=$((n+1)) ;

done

0 个答案:

没有答案