启动出现了两个master进程,求助

0

图片
start -d 启动出现了两个master进程。让我执行stop的时候就会失败。目前的情况是并不影响整个程序业务流程这些。

已邀请:

blogdaren - 乐于分享的PHP码农【http://www.blogdaren.com】

赞同来自: yes

原因: 这个一般是误删 workerman 的主进程pid文件造成的;
解决: 在不影响服务的情况下, ps aux | grep xxxx | xargs kill 干掉其中被误删的那个主进程以及子进程;或者干脆全部kill 干掉重启。

global_zm - 90后IT男

赞同来自:

CoreServer 继承了 Workerman\WebServer
我们发现,在Worker::runAll()方法里面的static::daemonize()里,不正常服务器fork的两次进程都在


我们有两个服务器,其中一个服务器(正常),第一个fork的进程会被结束掉;
另外一个服务器(不正常)两个主进程的,就会出现第一个fork也还在,所以就出现了两个主进程。对这种没有经验,不知道为啥会出现这种情况。
 
有问题的两个主进程还会出现后面那张图的关系

global_zm - 90后IT男

赞同来自:

谢谢@https://wenda.workerman.net/people/blogdaren
问题找到了,安装了一个grpc的扩展,然后这个扩展必须要给对应的环境变量,不然fork的时候就会出现多一个挂载进程。给后来的同学参考:以后出现这类的问题,也可以考虑下安装的扩展本身在workman进行fork的时候带来的问题

要回复问题请先登录注册