我有一台服务器在本地服务器上运行。 每隔一段时间它会冻结,我需要使用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。 无需重新启动服务器。