温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在php中创建一个守护进程

发布时间:2021-02-08 15:24:10 来源:亿速云 阅读:149 作者:Leah 栏目:开发技术

这篇文章给大家介绍怎么在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

关于怎么在php中创建一个守护进程就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI