<?php

$pid = posix_getpid();
$ppid = posix_getppid();
var_dump($pid);
cli_set_process_title("myparent"); for($i = 1;$i<10;$i++){
$child = new Swoole\Process(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 Swoole\Process(function(){
cli_set_process_title("mychild"); while(true){
echo "child ".getmypid();
sleep(1);
} },true); $child->start(); Swoole\Process::wait(false); // true是堵塞式的,读取子进程内容必须放在他前面,才能在被销毁之前拿到数据 //$child1 = new Swoole\Process(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);
}

  

  

  

php进程 swoole的更多相关文章

  1. 进程 swoole

    父进程创建子进程,子进程会复制父进程的内存和上下文环境,但是互相独立,如果两个进程是独立的是怎么互相通信的了,可以用共享内存,共享内存不属于任何一个进程,其他进程可以访问共享内存,查下系统的共享内存分 ...

  2. [PHP]swoole_server几个进程的分工

    readme.md-/Users/zjh/Documents/我的文章/[PHP]swoole_server几个进程的分工 html{font-family: sans-serif;-ms-text- ...

  3. Swoole引擎原理的快速入门干货

    更多内容,欢迎关注微信公众号:全菜工程师小辉~ 过去一年使用PHP和Java两种技术栈完成了一个游戏服务器项目.由于项目中有高频的网络请求,所以PHP技术栈尝试使用Swoole引擎(基于事件的高性能异 ...

  4. swoole2——Worker与TaskWorker进程

    1.swoole 的进程模型 swoole是一个多进程模型的框架,当启动一个进程swoole应用时,一共会创建2+n+m个线程,n为worker进程数,m为TaskWorker进程数,1个master ...

  5. swoole(PHP异步网络通信引擎)的结构和运行流程

    swoole结构说明和运行流程 主要分为三个部分: 1.Master:swoole的主进程 处理swoole核心的事件驱动, 它包含多个线程(蓝色Reactor), 所有事件的监听都在Reactor实 ...

  6. swoole 消息队列

    <?php /** * 场景: * 监控订单表状态 队列通信 * 一个进程向队列发布消息 另外两个进程争抢 */ //设置主进程名 echo '主进程id:' . posix_getpid() ...

  7. swoole 父子进程间通信

    <?php /** * 场景: * 监控订单表状态 父子进程通信 * 一个主进程 两个子进程实现 */ //设置主进程名 echo '主进程id:' . posix_getpid() . PHP ...

  8. Master Reactor Manager Worker TaskWorker(Task)

    1.Master进程 master进程为主进程,该进程会创建Manager进程和Reactor线程等工作进/线程 swoole的主进程,是个多线程的程序. 主进程内的回调函数: onStart onS ...

  9. Swoole 理解manager进程和worker进程的启动顺序,以及演示如何停止或者重启服务端。

    测试的代码主要功能:开启一个tcp服务器.然后设置了管理进程和工作进程start的回调进行更名.设置了pid_file保存了服务端启动的mast进程. <?php //创建Server对象,监听 ...

随机推荐

  1. SpringMVC-09-Ajax技术

    9. Ajax技术 简介 AJAX=Asynchronous JavaScript and XML (异步的JavaScript和XML) AJAX是一种在无需重新加载整个网页的情况下,能够更新部分网 ...

  2. java的注解学习

    转载自https://www.cnblogs.com/xdp-gacl/p/3622275.html 孤傲苍狼 只为成功找方法,不为失败找借口! Java基础加强总结(一)——注解(Annotatio ...

  3. python的多种魔术方法

    目录 new str & repr iter getitem.setitem.delitem getattr.setattr.delattr call slots 定制类和魔法方法 new s ...

  4. websocket直接绕过JS加密的方式

    目录 websocket--hook 服务端--WebSocketServer.js 客户端注入JS代码 python开端口 get_data.py 文件方式 get_user_id.py 文件方式 ...

  5. Oracle学习(十六)Oracle安装

    为了本地创建数据库自己玩耍,还是下个Oracle的客户端吧... 一.下载地址 注意,要用Oracle的帐号进行登录后才能下载 http://download.oracle.com/otn/nt/or ...

  6. Magicodes.IE之导入导出筛选器

    总体设计   Magicodes.IE是一个导入导出通用库,支持Dto导入导出以及动态导出,支持Excel.Word.Pdf.Csv和Html.在本篇教程,笔者将讲述如何使用Magicodes.IE的 ...

  7. 使用VMware虚拟机安装RHEL7(RedHat Enterprise Linux7)步骤

    准备工具: 1.VMware Workstation 14 2.RedHat Enterprise Linux 7.0镜像文件 在虚拟机内设置操作系统的硬件标准 单击"创建新的虚拟机&quo ...

  8. spark-3-macOS配置hadoop+spark+IDE

    [教程1]https://blog.csdn.net/shiyutianming/article/details/99946797  + [教程2]http://dblab.xmu.edu.cn/bl ...

  9. mysql-3-orderby

    #进阶3:排序查询 /* 语法: SELECT FROM WHERE ORDER BY ASC|DESC */ USE myemployees; #案例1:查询员工信息,按工资从高到低排 SELECT ...

  10. HTML中css水平居中的几种方式

    1. 子元素为行内元素时,父元素使用 text-align: center; 实现子元素的水平居中: 2. 子元素为块级元素时, 2.1. 将子元素设置 margin: 0 auto; 实现居中: 2 ...