php专区

 首页 > php专区 > PHP应用 > 常用功能 > php守护进程创建、开启与关闭操作教程

php守护进程创建、开启与关闭操作教程

分享到:
【字体:
导读:
         [导读] 今天带来php守护进程创建、开启与关闭操作教程。 本文实例讲述了php实现简单的守护进程创建、开启与关闭操作。分享给大家供大家参考,具体如下: 前提要安装有pcntl扩展,可通过...

今天带来php守护进程创建、开启与关闭操作教程。

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

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

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守护进程创建、开启与关闭操作教程。

分享到:
php打印三角星星方法实列
php打印三角星星方法实列 php打印三角形,直角三角形、倒直角三角形、等腰三角形的代码。逻辑都是外层循环控制行数,内层循环控制空格或星号的个数。 一、php输出直角三角形
php的命名空间与自动加载实现方法详情
今天带来php的命名空间与自动加载实现方法详情 类的自动加载 引子 当我们在php代码中加载类时,我们必须要include或者require 某个类文件。 但遇到类似的情况,例如: require "Class1.php"; require "Class2.php"; $boy = $_GET['sex'] = 0?true:false; if($boy) {  $class1 = new Class1(); }el...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……