8080端口被占用了怎么辦
windows:
8080端口被占用的解決辦法:
1、查看windows所有端口進程
點擊開始菜單選擇運行(win+r),接著在運行對話框中輸入“cmd”,回車打開命令提示符窗口,然后在窗口中輸入【netstat -ano】,回車,之后就會顯示所有的端口占用情況。如下圖中最喜歡的8080被占了。
?
2、在窗口中繼續輸入【netstat -aon|findstr \"端口\"】,這里的提示的端口為8080,那么就輸入命令為【netstat -aon|findstr \"8080\"】,回車之后就可以看見列表中的PID。根據PID在電腦的任務管理器中查看對應的占用程序,然后將其關閉即可。
?
3、我么可以看到占有8080這個程序的進程ID:7172,繼續輸入命令【tasklist|findstr \"7172\"】,7172就是進程ID,現在知道是哪個進程占用的我們就可以采取相應措施進行解決了。
?
linux:
一、查看已知端口占用情況比如,我們想知道8080端口的使用情況,或者說被誰占用了,命令如下:
netstat -anp | grep 8080
結果如下:
也可以使用命令:
netstat -tln | grep 8080
結果:
和上個命令對比,少了“2597932/java”,這個顯示的是進程號以及被哪個程序所占用。
如果沒有被占用,就什么都不顯示。
二、查看全部端口占用情況
netstat -anp
# 或者
netstat -tln
顯示結果分別如下面:
[root@Cent0S8-FTP sysconfig]# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:44321 0.0.0.0:* LISTEN 1740/pmcd
tcp 0 0 127.0.0.1:4330 0.0.0.0:* LISTEN 2715/pmlogger
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1191/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1196/cupsd
tcp 0 0 192.168.10.111:22 192.168.10.112:56798 ESTABLISHED 3209340/sshd: fangd
tcp 0 0 192.168.10.111:22 192.168.10.112:58794 ESTABLISHED 3330163/sshd: fangd
tcp 32 0 192.168.10.111:35222 8.43.85.13:443 CLOSE_WAIT 3876/gnome-shell
tcp 0 52 192.168.10.111:22 192.168.10.112:56674 ESTABLISHED 3198229/sshd: fangd
tcp6 0 0 ::1:44321 :::* LISTEN 1740/pmcd
tcp6 0 0 ::1:4330 :::* LISTEN 2715/pmlogger
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::21 :::* LISTEN 1430/vsftpd
tcp6 0 0 :::22 :::* LISTEN 1191/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1196/cupsd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 982/avahi-daemon: r
udp 0 0 192.168.10.111:46722 193.182.111.143:123 ESTABLISHED 985/chronyd
udp 0 0 0.0.0.0:67 0.0.0.0:* 2632/dnsmasq
udp 0 0 192.168.10.111:68 192.168.10.1:67 ESTABLISHED 1176/NetworkManager
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp 0 0 0.0.0.0:45242 0.0.0.0:* 982/avahi-daemon: r
udp 0 0 127.0.0.1:323 0.0.0.0:* 985/chronyd
udp6 0 0 :::5353 :::* 982/avahi-daemon: r
udp6 0 0 :::111 :::* 1/systemd
udp6 0 0 ::1:323 :::* 985/chronyd
udp6 0 0 :::41737 :::* 982/avahi-daemon: r
raw6 0 0 :::58 :::* 7 1176/NetworkManager
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] SEQPACKET LISTENING 24579 1/systemd /run/systemd/coredump
unix 2 [ ACC ] STREAM LISTENING 29959 967/lsmd /var/run/lsm/ipc/simc
[root@Cent0S8-FTP sysconfig]# netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:44321 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:4330 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 ::1:44321 :::* LISTEN
tcp6 0 0 ::1:4330 :::* LISTEN
tcp6 0 0 :::111 :::* LISTEN
tcp6 0 0 :::21 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
三、查看具體端口被哪個程序占用
lsof -i :8080
[root@Cent0S8-FTP sysconfig]# lsof -i :8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 2597932 root 45u IPv6 27126054 0t0 TCP *:webcache (LISTEN)
四、kill被占用的進程
我們通過三中的命令得到PID對應的2597932,或者通過命令“netstat -anp | grep 8080”得到的“2597932/java”,這里的2597932都是端口占用的對應進程的進程號,我們殺掉對應進程號即可。
kill -9 2597932
五、檢查對應端口是否還在占用
在“四”中,我們kill了對應的進程,那么是否成功了呢,我們可以通過“一”中的命令再查看一下8080端口的使用情況。
netstat -anp | grep 8080
發現沒有任何結果,這就說明已經kill掉了對應的進程。