单Cron实例/互斥体

单Cron实例/互斥体,cron,mutex,Cron,Mutex,我必须确保cron脚本只能同时运行一个实例。现在,我使用一个简单的临时文件,并在每次脚本启动时检查它。问题是,脚本无法在中止/失败时释放这些锁。我用pcntl_signal()尝试了其他方法,现在可以捕获ctrl+c和kill,但没有错误。也许你有一个建议,巫婆的解决方案适用于所有情况 您好我刚刚遇到,这似乎是解决cron溢出问题的一个很好的通用解决方案。有一个很好的解决方案: LOCKFILE=/var/run/moodle/moodlecron.lock set -e ( flock

我必须确保cron脚本只能同时运行一个实例。现在,我使用一个简单的临时文件,并在每次脚本启动时检查它。问题是,脚本无法在中止/失败时释放这些锁。我用pcntl_signal()尝试了其他方法,现在可以捕获ctrl+c和kill,但没有错误。也许你有一个建议,巫婆的解决方案适用于所有情况

您好

我刚刚遇到,这似乎是解决cron溢出问题的一个很好的通用解决方案。

有一个很好的解决方案:

LOCKFILE=/var/run/moodle/moodlecron.lock
set -e
(
    flock -n 200 
    trap "rm $LOCKFILE" EXIT 
    echo Add your commands here
) 200>$LOCKFILE