强制closures后服务器端口仍然打开?

我有一台服务器在本地服务器上运行。 每隔一段时间它会冻结,我需要使用Ctrl + Z取消它。 问题是,我强制closures它后使用的端口仍然是开放的,当我重新启动程序时,它不能回收那个端口。 那么我需要重新启动整个服务器。

有没有办法强制端口closures,所以服务可以在启动时打开它,或者刷新所有的端口?

谢谢,
最大

ctrl-z是暂停。

你可能想要ctrl-c。

您也可以发送一个信号给个人PID。 例如,如果我想closures端口80,我可以先用lsof查询打开的文件:

lsof -i tcp:80 

httpd 24579 root 3u IPv6 142712111 TCP *:http(LISTEN)

然后发送一个杀手信号:

 kill -9 24579 

Ctrl + Z只是挂起你的工作,放在背景中,所以端口仍然是打开的。 只需使用Ctrl + C。

在你的情况下,找出正在这个端口上侦听的进程:

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

并杀死PID。 无需重新启动服务器。