linux查看端口占用情况(Linux系统看端口占用)
今天跟大家聊聊Linux系统怎么查看端口有没有被占用命令,在这个前提你要有一台服务器,不理解服务器是什么的朋友可以比喻成PC电脑,配置越高性能越强服务器也是一样的。
首先,当你无法运行以下命令时候,请检查是否已经安装相应软件,您可以用以下命令安装:
# 安装 netstat 需要的组件# CentOS 系列系统
yum install net-tools
# Ubuntu 和 Debian 系列系统
apt-get install net-tools
# 安装 lsof# CentOS 系列系统*
yum install lsof
# Ubuntu 和 Debian
apt-get install lsof
netstat命令
netstat命令是在内核中访问网络及相关信息的命令,能够显示协议统计和当前TCP/IP的网络连接
netstat -ntlp
参数说明:
-a或--all 显示所有连线中的Socket。
-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
-c或--continuous 持续列出网络状态。
-C或--cache 显示路由器配置的快取信息。
-e或--extend 显示网络其他相关信息。
-F或--fib 显示路由缓存。
-g或--groups 显示多重广播功能群组组员名单。
-h或--help 在线帮助。
-i或--interfaces 显示网络界面信息表单。
-l或--listening 显示监控中的服务器的Socket。
-M或--masquerade 显示伪装的网络连线。
-n或--numeric 直接使用IP地址,而不通过域名服务器。
-N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
-o或--timers 显示计时器。
-p或--programs 显示正在使用Socket的程序识别码和程序名称。
-r或--route 显示Routing Table。
-s或--statistics 显示网络工作信息统计表。
-t或--tcp 显示TCP传输协议的连线状况。
-u或--udp 显示UDP传输协议的连线状况。
-v或--verbose 显示指令执行过程。
-V或--version 显示版本信息。
-w或--raw 显示RAW传输协议的连线状况。
-x或--unix 此参数的效果和指定"-A unix"参数相同。
--ip或--inet 此参数的效果和指定"-A inet"参数相同。
lsof命令
lsof(list open files)是一个列出当前系统打开文件的工具。
# 列出所有端口情况 lsof -i
# [端口] 换成在要查询的占用端口 lsof -i:[端口] # 如查询 80 端口 lsof -i: 80
更多命令
lsof -i:8080:查看8080端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof +d /usr/local/:显示目录下被进程开启的文件
lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件
kill
在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
# [pid] 换成在上面命令获得的进程PID kill - 9 PID
# 例如杀掉pid为6010的进程 kill - 9 6010