一、命令行方式
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函数,然后执行该脚本即可。