您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章给大家介绍怎么在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中创建一个守护进程就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。