Linux
如果已經執行,請不要執行 cron 作業
我知道這個問題已經被問過了,但我要麼不明白答案,要麼不適用於我。
我有一個 php 腳本,我每 1 分鐘呼叫一次,使用 CPanel 來設置 Cron 作業。腳本的性質意味著它可能會超過一分鐘,所以我需要知道如果第一個尚未完成,如何停止下一個執行。
我有一個執行 CENTOS 5.5 的 VPS 並且可以訪問 WHM 和 CPanel。我以前從未使用過 Linux(昨天才拿到伺服器),所以我不知道我在做什麼,如果可能的話,我希望能得到一些幫助。如果我需要提供更多資訊,請告訴我(我目前不知道您需要什麼資訊)。
謝謝。
請參閱流程管理。您可能想要使用鎖定文件。例如,您可以使用
flock
。為什麼你不能讓你的工作完成?
你的問題說“我要麼不理解答案,要麼它不適用於我”,但你沒有說是什麼方式。請更具體。
使用 bash 腳本作為您的 cron 作業
cron.sh
#!/bin/bash $lockfile=/tmp/lock.file if [ ! -e $lockfile ]; then touch $lockfile php /path/to/php/script.php rm $lockfile else echo "script already running" fi