欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php實現(xiàn)簡單的守護進程創(chuàng)建、開啟與關(guān)閉操作

 更新時間:2019年08月13日 08:37:49   作者:fangdong88  
這篇文章主要介紹了php實現(xiàn)簡單的守護進程創(chuàng)建、開啟與關(guān)閉操作,結(jié)合實例形式分析了基于pcntl擴展的php守護進程類定義、啟動及關(guān)閉等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了php實現(xiàn)簡單的守護進程創(chuàng)建、開啟與關(guān)閉操作。分享給大家供大家參考,具體如下:

前提要安裝有pcntl擴展,可通過php -m查看是否安裝

<?php
class 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

關(guān)閉

php deamon.php stop

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP進程與線程操作技巧總結(jié)》、《PHP網(wǎng)絡編程技巧總結(jié)》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

  • 解析PHP可變函數(shù)的經(jīng)典用法

    解析PHP可變函數(shù)的經(jīng)典用法

    本篇文章是對PHP可變函數(shù)的經(jīng)典用法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 一些php技巧與注意事項分析

    一些php技巧與注意事項分析

    很多人寫程序時,用 header(location) 進行跳轉(zhuǎn)往往不記得寫 exit() 語句,事實上這種做法是存在嚴重風險的。
    2011-02-02
  • PHP最常用的2種設(shè)計模式工廠模式和單例模式介紹

    PHP最常用的2種設(shè)計模式工廠模式和單例模式介紹

    當你在不斷的試圖從你的應用程序中發(fā)現(xiàn)新的特征時,你是否發(fā)現(xiàn)你提出的解決方法和一些以前你已經(jīng)實現(xiàn)的東西是如此的類似呢
    2012-08-08
  • PHP中的traits實現(xiàn)代碼復用使用實例

    PHP中的traits實現(xiàn)代碼復用使用實例

    這篇文章主要介紹了PHP中的traits實現(xiàn)代碼復用使用實例,本文講解了Trait簡單使用、優(yōu)先級問題、多個Trait沖突問題、as可用來修改方法訪問控制、Trait中使用Trait等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • PHP緩存技術(shù)的使用說明

    PHP緩存技術(shù)的使用說明

    PHP緩存技術(shù)的應用時相當普遍的,也許有些人還對這項技術(shù)不太了解,我們現(xiàn)在就為大家詳細的介紹一下PHP緩存技術(shù)的相關(guān)應用技巧。
    2011-08-08
  • 基于ThinkPHP實現(xiàn)批量刪除

    基于ThinkPHP實現(xiàn)批量刪除

    這篇文章主要介紹了基于ThinkPHP實現(xiàn)批量刪除的代碼實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • thinkphp使用phpmailer發(fā)送郵件的方法

    thinkphp使用phpmailer發(fā)送郵件的方法

    這篇文章主要介紹了thinkphp使用phpmailer發(fā)送郵件的方法,包含了配置發(fā)送郵件類、設(shè)置參數(shù)及發(fā)送郵件測試等的具體步驟,具有一定的實用價值,需要的朋友可以參考下
    2014-11-11
  • php skymvc 一款輕量、簡單的php

    php skymvc 一款輕量、簡單的php

    skymvc是一款輕量、簡單的php mvc框架,借鑒了各大框架的設(shè)計,采納了很多優(yōu)秀的函數(shù)及類,skymvc不鼓勵傻瓜式的開發(fā),更注重給予開發(fā)者更多的思考空間。
    2011-06-06
  • 4種PHP異步執(zhí)行的常用方式

    4種PHP異步執(zhí)行的常用方式

    這篇文章主要介紹了4種PHP異步執(zhí)行的常用方式,幫助大家更好地分析php異步調(diào)用方法,熟練掌握,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Laravel框架中隊列和工作(Queues、Jobs)操作實例詳解

    Laravel框架中隊列和工作(Queues、Jobs)操作實例詳解

    這篇文章主要介紹了Laravel框架中隊列和工作(Queues、Jobs)操作實例詳解,需要的朋友可以參考下
    2020-04-04

最新評論