- <?php
- $lock_file = "/tmp/logging.lock";
- if($should_do_sth) {
- $fp = @fopen($lock_file, "w+");
- if ($fp && flock($fp, LOCK_EX)) {
- do_sth();
- flock($fp, LOCK_UN);
- fclose($fp);
- @unlink($lock_file); // 1. 这里删除自己创建的文件,避免因属主权限问题导致其他进程无法打开该所文件 2. 这里也可能多进程间重复删除,所以使用 @
- }
- }