首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
Swooe_Http_Server创建addProcess 后,在进程内创建子进程会失败
### 问题描述 我在启动一个Swooe_Http_Server服务时进行addProcess的进程 ; 这个特殊进程内部也会创建X个子进程用于操作不同的业务,不同的子进程也会有相关一些协程处理!但现在在创建子进程会报下面的错误。所以想确认一下是否能在addProcess的特殊进程下能不能再创建子进程 ### Swoole版本,PHP版本,以及操作系统版本信息 4.5.0 php7.3.14 ### 相关代码 ```php 请将代码粘贴至此处(请勿用截图) ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? onWorker error .8 workper_pid:6341 exit_code:255 signal:0
发布于6年前 · 0 次浏览 · 来自
提问
Y js
### 问题描述 我在启动一个Swooe_Http_Server服务时进行addProcess的进程 ; 这个特殊进程内部也会创建X个子进程用于操作不同的业务,不同的子进程也会有相关一些协程处理!但现在在创建子进程会报下面的错误。所以想确认一下是否能在addProcess的特殊进程下能不能再创建子进程 ### Swoole版本,PHP版本,以及操作系统版本信息 4.5.0 php7.3.14 ### 相关代码 ```php 请将代码粘贴至此处(请勿用截图) ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? onWorker error .8 workper_pid:6341 exit_code:255 signal:0
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2020-05-08
鲁飞
贴出相关代码。
赞
0
回复
2020-05-08
Y js
回复
鲁飞
代码写的有点多,我简单一点吧 $httpServer=new \swoole_http_server("0.0.0.0", 9501); $httpServer.addProcess(new Swoole_Process(function($process){ 然后在这里创建了几个子进程 $child1.=new Swoole_Process(function($pro1){做内部业务,会有循环防退出}) $child1.start(); $child2.=new Swoole_Process(function($pro2){做内部业务,会有循环防退出}) $child2.start(); //然后增加子进程退出回收 Coroutine::create(function () { \swoole_process::signal(SIGCHLD, static function ($sig) { while ($ret=\swoole_process::wait(false)) { } }); }); })); $httpServer.start();
赞
0
回复
2020-05-08
鲸落
可以创建子进程的: ``` <?php use Swoole\Http\Server; $server = new Server('0.0.0.0', 9501); $process = new Swoole\Process(function ($process) { $child1 = new \Swoole\Process(function ($child1) { echo 1; }); $child1->start(); $child2 = new \Swoole\Process(function ($child1) { echo 2; }); $child2->start(); }, false, 2, 0); $server->addProcess($process); $server->on('request', function (\Swoole\Http\Request $request, \Swoole\Http\Response $response) { }); $server->start(); ```
赞
0
回复
2020-05-08
Y js
回复
鲸落
我找到原因了,增加了那个协议的HOCK处理就不行
赞
0
回复
2020-05-08
Y js
已解决
赞
0
回复