首页 > 开发 > Php > 正文

php实现简单的守护进程创建、开启与关闭操作

2019-10-28 19:00:38
字体:
来源:转载
供稿:网友

本文实例讲述了php实现简单的守护进程创建、开启与关闭操作。分享给大家供大家参考,具体如下:

前提要安装有pcntl扩展,可通过php -m查看是否安装

<?phpclass Daemon {  private $pidfile;  function __construct() {    $this->pidfile = dirname(__FILE__).'/daemontest.pid';  }  private function startDeamon() {    if (file_exists($this->pidfile)) {      echo "The file $this->pidfile exists./n";      exit();    }    $pid = pcntl_fork();    if ($pid == -1) {      die('could not fork');    } else if ($pid) {      echo 'start ok';      exit($pid);    } else {    // we are the child      file_put_contents($this->pidfile, getmypid());      return getmypid();    }  }  private function start(){    $pid = $this->startDeamon();    while (true) {      file_put_contents(dirname(__FILE__).'/test.txt', date('Y-m-d H:i:s'), FILE_APPEND);      sleep(2);    }  }  private function stop(){    if (file_exists($this->pidfile)) {      $pid = file_get_contents($this->pidfile);      posix_kill($pid, 9);      unlink($this->pidfile);    }  }  public function run($argv) {    if($argv[1] == 'start') {      $this->start();    }else if($argv[1] == 'stop') {      $this->stop();    }else{      echo 'param error';    }  }}$deamon = new Daemon();$deamon->run($argv);

启动

php deamon.php start

关闭

php deamon.php stop

希望本文所述对大家PHP程序设计有所帮助。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表