<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="分享PHP进程同步代码实例代码" id="card1">
<p> 游客</p><p>
标题:分享PHP进程同步代码实例代码<br/>
正文:<br/>
经常遇到这样一种情况，计划任务定时后台执行某个php程序，有时候也需要手动执行，可能多个人都需要执行这个程序，如果任务持续时间非常长，就很容易造成重复执行，所以就开发了下面的类。作用：在实际代码运行前检查与当前相同操作的进程是否正在运行，高并发运行是可靠的，运行中的进程中途异常中断不会产生任何影响。构造方法传递pid文件目录的绝对路径，需要自己保证不同进程对应不同pid文件。 代码如下: &amp;lt;?php/*  * 同一个PHP进程只运行一次，根据进程名字判断是否为排重进程，只能运行于linux，高并发条件下是并发安全的。  */class SyncProcess { private $pidFile; function __construct($pidFile) {   $this-&amp;gt;pidFile = $pidFile;  } /**   * 非阻塞方式返回进程是否正在运行   */  function check() {   if (PHP_OS == 'Linux') {    $pidFile = $this-&amp;gt;pidFile;    if (!empty($pidFile)) {     $flag = false;     $pidDir = dirname($pidFile);     if (is_dir($pidDir)) {      $flag = true;     }     if ($flag) {      $running = true;      clearstatcache(true, $this-&amp;gt;pidFile);     &amp;n<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2099&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2099&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2099&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2099&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2099&amp;Page=4">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2099">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2099">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>