Linux 解決端口號被佔用的問題

使用 xshell 的過程中,總是會不定時就斷開了連接,重啓又無法連接,就算關閉之後,再重啓,依舊報錯,一直報錯:Web server failed to start. Port 9011 was already in use.

這裏記錄一下解決方法,免得日後用到又要查詢,畢竟本人對命令不會刻意去記憶

注意:以下命令,若以普通用戶操作,命令前面要加上sudo;若以root用戶操作,不用加sudo即可查看

一、命令總述

1.查看端口是否被佔用
netstat -anp |grep [端口號]

2.查看佔用的進程
lsof -i:[端口號]

3.關閉進程
kill -9 [進程PID]

二、命令介紹

1、查看端口號是否被佔用,如:9999
netstat -anp |grep 9999

如下所示,LISTEN 表示被佔用,18200/java 分別是:進程PID/進程名(或者通過命令查找進程PID,見下面的2)通過進程PID關閉進程

tcp6       0      0 :::9999                 :::*                    LISTEN      18200/java   
2、查看佔用該端口號的進程
lsof -i:9999

如下所示,即可找到PID,如:18200

COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    18200 root  172u  IPv6 1843752      0t0  TCP *:9999 (LISTEN)
3、關閉進程
kill -9 18200

之後,就可以成功重啓服務了

參考:
https://www.cnblogs.com/hindy/p/7249234.html
https://blog.csdn.net/panco_/article/details/89713906
https://blog.csdn.net/qq_28120227/article/details/101130092

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章