服務端綁定端口客戶端第一次連接的時候,服務端能夠正常打印出客戶端的ip地址及端口號,再次運行時,發現服務端一直處于未響應的狀態,排查了一段時間,結果發現程序退出時出現異常,出現了僵尸進程,端口一直被占用,那么遇到這個問題時該怎么去解決呢?
解決辦法
1、查看端口是否被占用:
1netstat -anp |grep 8888 //查看8888端口的占用情況
出現如下情況說明被占用:
2、查看占用此端口的進程PID
1lsof -i :8888
結果如下:
3、殺死進程
1kill -9 4110 //4110為進程ID
可以看到成功結果:
至此端口已解除占用啦
Linux如何查看端口占用情況:
在Linux系統中,您可以使用多種命令來查看端口占用情況。以下是一些常用的方法:
netstat命令
使用netstat命令可以顯示網絡連接、路由表、接口統計信息等。
要查看端口占用情況,可以使用以下命令:
netstat -tuln 這將顯示當前所有監聽的TCP和UDP端口,以及它們的狀態和進程信息。
ss命令
ss命令也用于查看套接字統計信息,更快速和有效。
要查看端口占用情況,可以使用以下命令:
ss -tuln
lsof命令
lsof命令用于列出所有打開文件和套接字的信息,包括端口占用情況。
要查看某個特定端口的占用情況,可以使用以下命令:
lsof -i :端口號例如,要查看端口號為80的占用情況,可以使用:
lsof -i :80
pidof和fuser命令
pidof和fuser命令用于查找正在使用某個文件或套接字的進程ID。
要查看某個端口的占用情況,可以結合使用這兩個命令,例如:
1pidof -t -x 端口號 fuser 端口號/tcp
這些命令將顯示占用指定端口的進程信息,包括進程ID(PID)和進程名稱。
您可以根據需要選擇適合的方法來查看Linux系統中的端口占用情況。