美文网首页
PHP创建守护进程

PHP创建守护进程

作者: 人在码途 | 来源:发表于2017-10-16 23:43 被阅读37次

PHP 创建守护进程

<?php


/**
* php 创建守护进程
*/


$pid = pcntl_fork();
if ($pid == -1) {
    throw new Exception("进程创建失败", 1);
} elseif ($pid > 0) {
    //父进程退出,子进程被1号进程收养
    exit(0);
}

//让该进程脱离之前的会话、终端、进程组的控制
posix_setsid();

//修改进程的工作目录,由于子进程会继承父进程的工作目录,修改工作目录释放对父进程工作目录的占用
chdir('/');

/* 
 * 通过上一步,我们创建了一个新的会话组长,进程组长,且脱离了终端,但是会话组长可以申请重新打开一个终端,为了避免 
 * 这种情况,我们再次创建一个子进程,并退出当前进程,这样运行的进程就不再是会话组长。 
 */ 

$pid = pcntl_fork();
if ($pid == -1) {
    throw new Exception("进程创建失败", 1);
} elseif ($pid > 0) {
    //再一次退出父进程,子进程成为最终的守护进程
    exit(0);
}

//关闭守护进程不是用的标准输入、输出、错误数据的描述符
// fclose(STDIN);
// fclose(STDOUT);
// fclose(STDERR);


//处理业务代码

while (true) {
    $txt = time() . PHP_EOL;
    file_put_contents('/Users/tongkun/Desktop/fork.log', $txt, FILE_APPEND);  
    sleep(1);
}

执行守护进程

php path/file.php

相关文章

  • PHP创建守护进程

    PHP 创建守护进程 执行守护进程

  • 进程

    创建子进程 循环创建N个子进程 回收子进程 守护进程

  • python下编写守护进程

    **1、编写守护进程的步骤 **创建守护进程其实和c创建守护进程的方式大同小异了,其实就是那么几个步骤: 创建子进...

  • rsync服务企业应用

    守护进程服务企业应用: 守护进程多模块功能配置 守护进程的排除功能实践 守护进程来创建备份目录 守护进程的访问控制...

  • 进程守护和非守护概念

    进程分为两种: 1、守护进程2、非守护进程 一个软件程序启动之后,可以根据需要创建很多个进程。比如创建了5个进程,...

  • php守护进程

  • php 守护进程

    出处:http://www.cnblogs.com/yjf512/ 本文版权归yjf512和cnBlog共有,欢迎...

  • linux进程

    linux进程包含如下几个方面:1:进程的控制(创建,等待子进程终止,执行程序,退出)2:守护进程(什么是守护进程...

  • python入门开发学习笔记之守护进程

    本节重点 了解守护进程的概念本节时长需控制在5分钟内 一 守护进程 主进程创建子进程,然后将该进程设置成守护自己的...

  • [PHP] - 编译参数 --enable-pcntl

    官网:PHP - PCNTL 红框翻译 PHP进程控制支持 实现了类unix的进程创建、程序运行、消息处理、进程终...

网友评论

      本文标题:PHP创建守护进程

      本文链接:https://www.haomeiwen.com/subject/nphruxtx.html