2009/01/12

如何保证程序唯一运行?

以前写过如何让php程序在后台运行,客户端触发,后台方式运行PHP程序 ,但某些场合要求我们此程序只能唯一运行,只跑一个。

解决办法:
1.使用文件锁来控制
2.创建目录
上述两个操作均可保证唯一性,当然还有其他办法,查找进程中是否有同名的进程之类,不太适合php。


<?php

$fp = fopen("/tmp/lock.txt", "w+");

if (flock($fp, LOCK_EX)) { // 进行排它型锁定
    //do something
   
   
    flock($fp, LOCK_UN); // 释放锁定
} else {
    echo "Couldn't lock the file !";
    exit();
}

fclose($fp);

?>

没有评论:

发表评论