强制关闭后服务器端口仍然打开吗?

强制关闭后服务器端口仍然打开吗?

我在本地服务器上运行一个服务器。它偶尔会冻结,我需要使用 Ctrl+Z 来取消它。问题是,在我强制关闭它之后,它使用的端口仍然对它开放,当我重新启动程序时它无法回收该端口。所以我需要重新启动整个服务器。

有什么办法可以强制关闭该端口,以便服务可以在重新启动时打开它,或者刷新所有端口?

谢谢,
马克斯

答案1

ctrl-z 是暂停。

您可能需要 ctrl-c。

您还可以向单个 PID 发送信号。例如,如果我想关闭端口 80,我可以先使用 lsof 查询打开的文件:

lsof -i tcp:80

httpd 24579 根 3u IPv6 142712111 TCP *:http (侦听)

然后发送终止信号:

kill -9   24579 

答案2

Ctrl+Z只是暂停你的工作,将其置于后台,因此端口仍然打开。只需改用Ctrl+C即可。

对于您来说,使用以下命令找出正在监听此端口的进程:

# netstat --protocol=ip -nlp | grep :port

并终止 PID。无需重启服务器。

相关内容