一、命令行方式
1、使用netstat命令查看端口占用情況
netstat -anp | grep 端口號
其中“-a”選項表示列出所有連接,即LISTEN和非LISTEN連接狀態;“-n”選項表示以數字形式顯示地址和端口號;“-p”選項表示顯示與端口或進程相關的程序名。通過在“grep”命令后添加所要查找的端口號即可顯示該端口的連接進程。
2、使用lsof命令查看端口占用情況
lsof -i:端口號
其中“-i”選項表示僅顯示網絡相關的文件;“:端口號”表示具體要查找的端口號。使用lsof命令可以查找某個端口對應的進程,同時還能查看該進程打開的文件和網絡連接信息。
3、使用ss命令查看端口占用情況
ss -lntp | grep 端口號
其中“-l”選項表示只顯示監聽端口的連接;“-n”選項表示以數字形式顯示地址和端口號;“-t”選項表示只顯示TCP連接;“-p”選項表示顯示與端口或進程相關的程序名。ss命令與netstat類似,但ss命令更加快速和有效。
二、圖形化界面方式
除了使用命令行方式查看端口占用情況外,我們還可以使用一些圖形化界面工具來進行查看。
1、使用System Monitor(系統監視器)
System Monitor是一個內置于CentOS上的系統監視器工具,它可以實時監視CPU、內存、網絡和硬盤等系統性能信息,也可以查看當前的進程和網絡連接情況。
在菜單中找到“System Tools” - “System Monitor”,然后選擇“Processes”選項卡。點擊“View” - “All Process”即可查看所有進程,包括它們打開的文件和端口。
2、使用htop命令
htop是一個更加強大的系統進程監視器工具,它可以顯示當前的CPU使用情況、內存使用情況和進程信息等。我們可以通過htop命令來查看某個端口對應的進程信息。
yum install htop
htop
在htop界面中,按下“F4”鍵,輸入要查找的端口號即可顯示該端口對應的進程信息。
三、使用Python腳本方式
可以使用Python編寫腳本來查看端口占用情況。下面是一個簡單的Python腳本示例:
# -*- coding: utf-8 -*-
import os
def check_port(port):
cmd = "lsof -i:%s" % port
response = os.popen(cmd)
content = response.read()
if content:
print("Port %s is using:\n%s" % (port, content.strip()))
else:
print("Port %s is not in use." % port)
if __name__ == '__main__':
check_port(80)
該Python腳本使用了os模塊和popen函數來執行系統命令,查找端口占用情況。可以把要查找的端口號作為參數傳遞給check_port函數,然后執行該腳本即可。