workerman进程之间相互占用端口

oywb

最近遇到一个让无语的问题,端口阻塞了……真的万万没想到,现在的连接数到300不到怎么会!!
经过排查原来是端口被别的进程使用了
截图
有一个程序main.php做主程序,还有N个数字开头的.php做从程序,两个程序要求一直开着,主程序使用9102端口,从程序使用其他端口;发现问题的是主程序9102端口,当主程序关闭了9102端口还在开着,然后外部访问就出错了

有没有大神可以帮我解决一下。

2227 2 0
2个回答

blogdaren

手动杀下主进程吧: kill 9102 或 kill -2 9102

  • 暂无评论
oywb

kill可以,但这种情况时不时就会出现,很头疼;明明给程序各分配了端口,其他的程序却还会占用它的端口……

  • blogdaren 2020-08-14

    其他的程序是指什么程序? 不同的应用程序进程之间是不能监听到同一个端口的;同一个应用程序的进程组之间是可以监听同一个端口的,【但是前提条件是开启了端口复用】;另外这问题也好解决啊,给workeman换个其他端口完事儿。

  • oywb 2020-08-14

    其他程序是指wokerman写的php程序,一个php指定一个端口,主程序使用是9102端口,其他程序分配了9102以外的端口;预想的是一个PHP程序对应一个端口,结果是在主程序停止以后,netstat 和lsof显示的结果9102端口被其他程序占用了,然后再执行主程序的时候可以启动,但却不能正常使用

年代过于久远,无法发表回答
🔝