zoukankan      html  css  js  c++  java
  • php进程 swoole

    <?php
    
    $pid = posix_getpid();
    $ppid = posix_getppid();
    var_dump($pid);
    cli_set_process_title("myparent");
    
    for($i = 1;$i<10;$i++){
        $child = new SwooleProcess(function(){
            cli_set_process_title("mychild");
            echo "child ".getmypid().PHP_EOL;
            sleep(10);
    
        });
        $child->start();
    }
    
    while(true){
        sleep(1);
    }
    

    如果不进行回收,会产生僵尸进程

    [root@localhost swoole]# php test.php 
    int(31030)
    child 31031
    child 31033
    child 31034
    child 31035
    child 31032
    child 31036
    child 31037
    child 31038
    child 31039
    

     子进程输入到父进程

    <?php
    
    $pid = posix_getpid();
    $ppid = posix_getppid();
    var_dump($pid);
    cli_set_process_title("myparent");
    
    
    $child = new SwooleProcess(function(){
        cli_set_process_title("mychild");
    
        while(true){
            echo "child ".getmypid();
            sleep(1);
        }
    
    },true);
    
    $child->start();
    
    SwooleProcess::wait(false); // true是堵塞式的,读取子进程内容必须放在他前面,才能在被销毁之前拿到数据
    
    //$child1 = new SwooleProcess(function(){
    //    cli_set_process_title("mychild1");
    //    echo "child1 ".getmypid().PHP_EOL;
    //    while(true){
    //        sleep(1);
    //    }
    //
    //});
    //$child1->start();
    
    
    
    while(true){
        echo $child->read()." brady".PHP_EOL;
        sleep(1);
    }
    

      

      

      

  • 相关阅读:
    Chapter 17_1 弱引用table
    Chapter 16_5 单一方法
    Chapter 16_4 私密性
    Chapter 16_3 多重继承
    Chapter 16_2 继承
    Chapter 16_1 Class
    Chapter 16_0 面向对象编程
    小米2s刷机
    Chapter 15_4 子模块和包
    ASP.NET Core MVC 泛型接口的声明调用与注入服务
  • 原文地址:https://www.cnblogs.com/php-linux/p/12765417.html
Copyright © 2011-2022 走看看