热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php子进程信号,swooleprocess子进程fatal,父进程监听不到SIGCHLD信号?

cli模式下用process多进程。master进程通过SIGCHLD监听子进程退出并重启子进程。swoole_process::signal(SIGCHLD,function()

cli模式下用process多进程。

master进程通过SIGCHLD监听子进程退出并重启子进程。swoole_process::signal(SIGCHLD, function(){        // 子进程退出

while ($ret = swoole_process::wait(false)) {            unset(self::$wokers[$ret['pid']]);            self::logError('SIGNAL-WORKER_EXIT-%s', $ret['pid']);            //重新创建

self::initProcess();

}

});

直接kill掉子进程,父进程能够接受到信号并重新拉起子进程。

但子进程发生fatal的情况下,父进程接收不到子进程退出的信号,同时子进程会成为僵尸进程。[php] 

想问下各位大佬有没有遇到这种情况的?pcntl实现的时候,子进程fatal的时候,父进程是会受到SIGCHLD的。



推荐阅读
author-avatar
梦亦碎i
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有