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()



posted @ 2017-05-03 14:17  小昌君  阅读(1783)  评论(0编辑  收藏  举报