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 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的更多相关文章
- 进程 swoole
父进程创建子进程,子进程会复制父进程的内存和上下文环境,但是互相独立,如果两个进程是独立的是怎么互相通信的了,可以用共享内存,共享内存不属于任何一个进程,其他进程可以访问共享内存,查下系统的共享内存分 ...
- [PHP]swoole_server几个进程的分工
readme.md-/Users/zjh/Documents/我的文章/[PHP]swoole_server几个进程的分工 html{font-family: sans-serif;-ms-text- ...
- Swoole引擎原理的快速入门干货
更多内容,欢迎关注微信公众号:全菜工程师小辉~ 过去一年使用PHP和Java两种技术栈完成了一个游戏服务器项目.由于项目中有高频的网络请求,所以PHP技术栈尝试使用Swoole引擎(基于事件的高性能异 ...
- swoole2——Worker与TaskWorker进程
1.swoole 的进程模型 swoole是一个多进程模型的框架,当启动一个进程swoole应用时,一共会创建2+n+m个线程,n为worker进程数,m为TaskWorker进程数,1个master ...
- swoole(PHP异步网络通信引擎)的结构和运行流程
swoole结构说明和运行流程 主要分为三个部分: 1.Master:swoole的主进程 处理swoole核心的事件驱动, 它包含多个线程(蓝色Reactor), 所有事件的监听都在Reactor实 ...
- swoole 消息队列
<?php /** * 场景: * 监控订单表状态 队列通信 * 一个进程向队列发布消息 另外两个进程争抢 */ //设置主进程名 echo '主进程id:' . posix_getpid() ...
- swoole 父子进程间通信
<?php /** * 场景: * 监控订单表状态 父子进程通信 * 一个主进程 两个子进程实现 */ //设置主进程名 echo '主进程id:' . posix_getpid() . PHP ...
- Master Reactor Manager Worker TaskWorker(Task)
1.Master进程 master进程为主进程,该进程会创建Manager进程和Reactor线程等工作进/线程 swoole的主进程,是个多线程的程序. 主进程内的回调函数: onStart onS ...
- Swoole 理解manager进程和worker进程的启动顺序,以及演示如何停止或者重启服务端。
测试的代码主要功能:开启一个tcp服务器.然后设置了管理进程和工作进程start的回调进行更名.设置了pid_file保存了服务端启动的mast进程. <?php //创建Server对象,监听 ...
随机推荐
- ASP.NET Core 配置与获取
目录 1,来自字典 2,来自配置文件 3,层次结构 4,映射 ASP.NET Core 中,可以使用 ConfigurationBuilder 对象来构建. 主要分为三部:配置数据源 -> Co ...
- Kubernetes K8S之Service服务详解与示例
K8S之Service概述与代理说明,并详解所有的service服务类型与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master Cent ...
- spring mvc(3) DispatcherServlet
通过前面的例子,我们实现了spring mvc模式,那么在spring mvc模式下请求是如何被执行最终返回页面的呢? 从服务器收到请求开始,执行流程如下: 1.服务器接收请求,根据web.xml的配 ...
- 使用singleflight防止缓存击穿(Java)
缓存击穿 在使用缓存时,我们往往是先根据key从缓存中取数据,如果拿不到就去数据源加载数据,写入缓存.但是在某些高并发的情况下,可能会出现缓存击穿的问题,比如一个存在的key,在缓存过期的一刻,同时有 ...
- 使用PyCharm引入需要使用的包
在学习python的时候,被推荐了使用PyCharm这款IDE,但是经常在已经pip安装第三方包的时候import包的时候却发生了问题- -无法引入. 进行模块的加载,百度之后,了解到,在这款IDE中 ...
- 手把手教你基于CentOS8搭建微信订阅号后台服务(一)
一.准备域名并完成解析 关于域名,我买的是阿里的一个1元/年的廉价域名,同时国内域名都需要备案,当时在这里耽搁了挺久的. 域名解析的话,在阿里云官方帮助文档里有.传送门:https://help.al ...
- Lua设计与实现--读书笔记
目录 lua简介 一种通用的数据类型:lua_TValue 字符串 Table lua实现一个队列 lua简介 C++底层核心模块,暴露核心接口给lua脚本层,网络的收发都在c++层完成,本书简述lu ...
- thinkphp上传图片,生成缩略图
Image.php <?php /** * 实现图片上传,图片缩小, 增加水印 * 需要定义以下常量 * define('ERR_INVALID_IMAGE', 1); * define('ER ...
- Leetcode PHP题解--D125 107. Binary Tree Level Order Traversal II
val = $value; } * } */ class Solution { private $vals = []; /** * @param TreeNode $root * @return In ...
- 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例
019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...