php实现简单的守护进程创建、开启与关闭操作
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-10 17:06:17 浏览: 评论:0
这篇文章主要介绍了php实现简单的守护进程创建、开启与关闭操作,结合实例形式分析了基于pcntl扩展的php守护进程类定义、启动及关闭等相关操作技巧,需要的朋友可以参考下。
本文实例讲述了php实现简单的守护进程创建、开启与关闭操作,分享给大家供大家参考,具体如下:
前提要安装有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
关闭
php deamon.php stop
Tags: php守护进程
相关文章
- ·PHP高级编程实例:编写守护进程(2021-04-10)
- ·PHP将进程作为守护进程的方法(2021-05-17)
- ·PHP扩展程序实现守护进程(2021-05-22)
- ·如何写php守护进程(Daemon)(2021-07-03)
- ·分享PHP守护进程类(2021-07-03)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)