防止shell script屢次運行

一個思路是在script初期檢測系統中是否存在同名進程。spa

if [ `ps -ef | grep "test.sh" | grep -v "grep" | wc -l` -gt 2 ]
then
    echo "This script is already running. Exit."
else
    while true
    do
        echo "I am running"
        sleep 5
    done
fi

若是是第一次運行,那麼首行語句檢測到的同名進程會有兩個:第一個是啓動這個script的進程,第二個是反引號內的命令。code

相關文章
相關標籤/搜索