zoukankan      html  css  js  c++  java
  • swoole创建进程

    <?php
    /**
     * Created by PhpStorm.
     * User: mac
     * Date: 2020/4/23
     * Time: 21:57
     */
    
    use SwooleProcess;
    
    echo getmypid().PHP_EOL;
    cli_set_process_title("mymain");
    
    $process = new Process(function ()  {
        cli_set_process_title("mychild");
        echo '子进程 #' . getmypid()  . PHP_EOL;
    });
    $process->start();
    
    Process::wait(true);
    
    while(true)
    {
        sleep(1);
    }

    如果没有这一行回收子进程 ,那么子进程不会回收 直到主进程执行完 

    [root@localhost wang]# php index.php 
    4692
    子进程 #4693
    
    [root@localhost wang]# ps -ef|grep 4692
    root      4692  8091  0 23:14 pts/0    00:00:00 mymain
    root      4693  4692  0 23:14 pts/0    00:00:00 [php] <defunct>
    root      4701  4652  0 23:15 pts/1    00:00:00 grep --color=auto 4692
    [root@localhost wang]# 
    

    如果加了wait

    [root@localhost wang]# php index.php 
    4702
    子进程 #4703
    
    [root@localhost wang]# ps -ef|grep 4702
    root      4702  8091  0 23:15 pts/0    00:00:00 mymain
    root      4707  4652  0 23:15 pts/1    00:00:00 grep --color=auto 4702
    cli_set_process_title 设置进程的标题 

      

      

  • 相关阅读:
    我们是如何实现DevOps的
    cmp命令
    全排列II
    chown命令
    两个数组的交集II
    MVVM模式的理解
    chmod命令
    路径总和
    cat命令
    跳水板
  • 原文地址:https://www.cnblogs.com/php-linux/p/12764601.html
Copyright © 2011-2022 走看看