如何释放仍在使用但未绑定到进程的端口?

如何释放仍在使用但未绑定到进程的端口?

我正在运行一个生成多个进程的 Python 应用程序。它使用端口 56008 来监听客户端请求。有时关闭它后,它使用的端口仍处于“正在使用”状态。仍有一些 Python 进程似乎正在运行,但尝试使用它们终止它们kill似乎没有任何影响。

我如何手动释放它以便可以重新启动我的应用程序?

更多信息:

输出ps -C python

  PID TTY          TIME CMD
30118 pts/1    00:00:00 python
30131 pts/1    00:00:00 python

*格式总共约30行[pid] pts/1 00:00:00 python

输出netstat -tulp(仅相关行):

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:56008                 *:*                     LISTEN      -

答案1

这招奏效了

sudo kill -9 `ps -C python | grep python | grep -v grep | awk '{print $1}'`

答案2

您可以尝试并正确编写代码来说明应用程序如何退出(例如,杀死所有子项、关闭网络套接字)

相关内容