![即使在进程终止后,地址/端口仍然卡在 ubuntu(服务器)上](https://linux22.com/image/1622187/%E5%8D%B3%E4%BD%BF%E5%9C%A8%E8%BF%9B%E7%A8%8B%E7%BB%88%E6%AD%A2%E5%90%8E%EF%BC%8C%E5%9C%B0%E5%9D%80%2F%E7%AB%AF%E5%8F%A3%E4%BB%8D%E7%84%B6%E5%8D%A1%E5%9C%A8%20ubuntu%EF%BC%88%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%89%E4%B8%8A.png)
我在无头安装 Ubuntu 18.04 时遇到问题。端口不断“卡住”,这要么阻止进程终止(即使发送SIGKILL
),要么允许进程终止,然后处于不可逆的绑定状态。这种情况似乎尤其发生在停止/重新启动系统服务时,当它发生时,地址已被使用,因此服务无法成功重新启动。
这是尝试推断是否有任何剩余的进程绑定到特定端口时的示例输出:
user@hostname:~$ sudo netstat -tulpn | grep 12345
tcp 7 0 0.0.0.0:12345 0.0.0.0:* LISTEN -
请注意, 为PID/Program name
空 ( -
)。无论以何种方式运行命令,情况都是如此:以用户身份、通过sudo
或甚至以 root 身份运行。
还请注意7
这里(在RECV-Q
列中)。似乎总是存在这样的情况:某些数据被卡住,等待被进程使用,但进程已经终止。
有时,即使尝试了所有已知的方法SIGKILL
向该进程发送 ,该进程也会挂起并拒绝终止。不过,我无法可靠地重现这种情况。
我发现多个服务都出现了这种情况。我认为这不是绑定到端口的实现方面的问题。
有什么想法吗?