linux定时跑php脚本,防止重复跑,死循环


$PHP_SELF = realpath($_SERVER['PHP_SELF']);
if (!($argc > 1)) {
    $lock_file = $PHP_SELF . '.lock';
} else {
    unset($argv[0]);
    $lock_file = $PHP_SELF . '.' . implode('.', $argv) . '.lock';
}
$lock_file_handle = fopen($lock_file, 'w');
if ($lock_file_handle === false)
    die("Can not create lock file $lock_file\n");
if (!flock($lock_file_handle, LOCK_EX + LOCK_NB)) {
    die(date("Y-m-d H:i:s") . "Process already exists.\n");
}

此外,为防止出现定时脚本的死循环使服务器挂掉,要避免使用ini_set('memory_limit', -1)

想知道执行的程序需要多大内存可以使用函数memory_get_peak_usage()




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM