使用php start.php start -d启动workman,然后使用php start.php stop停止,发现停止不了,但是workman确实退出了,然后使用ps aux|grep WorkerMan查看,发现每次运行 php start.php start -d,都启动了2个进行,其中一个包含了子进程(,状态是Ss的这个进程,这个是问题的关键),需要使用kill -9 才能杀死
截图下 php start.php start -d 启动界面 php start.php stop 界面 然后把进程全部停止,不要有workerman进程启动, 运行 strace php start.php start -d 截图所有结果,尤其最后一部分
我是分布式部署的,这台部署的是getway服务和worker服务,register服务在另一台上,正常运行的
下面我贴出来了,您看一下
1.启动
[attach]2085[/attach]
[attach]2086[/attach]
[attach]2087[/attach]
[attach]2088[/attach]
使用strace php start.php start -d后最后的截图如下 [attach]2089[/attach]
正常服务器运行 ps aux|grep WorkerMan 后的截图 [attach]2090[/attach] 可以看出,不正常的服务器运行start后,多了一个子进程
[attach]2091[/attach] ,引起stop后,start命令的进程无法正常退出
strace php start.php start -d 全部截图如下 [attach]2092[/attach]
[attach]2093[/attach]
[attach]2094[/attach]
[attach]2095[/attach]
[attach]2096[/attach]
[attach]2097[/attach]
[attach]2098[/attach]
[attach]2099[/attach]
[attach]2100[/attach]
[attach]2101[/attach]
[attach]2102[/attach]
[attach]2103[/attach]
[attach]2104[/attach]
[attach]2105[/attach]
[attach]2106[/attach]
[attach]2107[/attach]
[attach]2108[/attach]
[attach]2109[/attach]
[attach]2110[/attach]
[attach]2111[/attach]
[attach]2112[/attach]
[attach]2113[/attach]
[attach]2114[/attach]
[attach]2115[/attach]
[attach]2116[/attach]
有可能是你php版本有bug,换个版本试下吧。 另外代码里是否调用了pcntl_fork函数?
两台服务器的php版本是一样的,都是5.6.10,其中一台是正常的
代码里没有调用过你说的那个函数
对比下看下环境哪里不同,比如扩展。 还有strace下Ss状态的进程看下它在干什么
好的,我试试
截图下 php start.php start -d 启动界面
php start.php stop 界面
然后把进程全部停止,不要有workerman进程启动,
运行 strace php start.php start -d
截图所有结果,尤其最后一部分
我是分布式部署的,这台部署的是getway服务和worker服务,register服务在另一台上,正常运行的
下面我贴出来了,您看一下
1.启动
[attach]2085[/attach]
[attach]2086[/attach]
[attach]2087[/attach]
[attach]2088[/attach]
使用strace php start.php start -d后最后的截图如下
[attach]2089[/attach]
正常服务器运行 ps aux|grep WorkerMan 后的截图
[attach]2090[/attach]
可以看出,不正常的服务器运行start后,多了一个子进程
[attach]2091[/attach]
,引起stop后,start命令的进程无法正常退出
strace php start.php start -d 全部截图如下
[attach]2092[/attach]
[attach]2093[/attach]
[attach]2094[/attach]
[attach]2095[/attach]
[attach]2096[/attach]
[attach]2097[/attach]
[attach]2098[/attach]
[attach]2099[/attach]
[attach]2100[/attach]
[attach]2101[/attach]
[attach]2102[/attach]
[attach]2103[/attach]
[attach]2104[/attach]
[attach]2105[/attach]
[attach]2106[/attach]
[attach]2107[/attach]
[attach]2108[/attach]
[attach]2109[/attach]
[attach]2110[/attach]
[attach]2111[/attach]
[attach]2112[/attach]
[attach]2113[/attach]
[attach]2114[/attach]
[attach]2115[/attach]
[attach]2116[/attach]
有可能是你php版本有bug,换个版本试下吧。
另外代码里是否调用了pcntl_fork函数?
两台服务器的php版本是一样的,都是5.6.10,其中一台是正常的
代码里没有调用过你说的那个函数
对比下看下环境哪里不同,比如扩展。
还有strace下Ss状态的进程看下它在干什么
好的,我试试