linux查看3306是哪个进程占用,linux查看端口占用
发表于 2019-08-18 21:00:36 by 月小升
一、
例子
lsof -i:7000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
frps 1249 root 3u IPv6 15992 0t0 TCP *:afs3-fileserver (LISTEN)
frps 1249 root 8u IPv6 31866 0t0 TCP iz2ze9n3z2fl9zj9hrv58vz:afs3-fileserver->181.118.50.55:49238 (ESTABLISHED)
端口被
# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
AliYunDun 1049 root 20u IPv4 13083 0t0 TCP iz2ze9n3z2fl9zj9hrv58vz:37170->100.100.30.25:http (ESTABLISHED)
nginx 1310 root 6u IPv4 16343 0t0 TCP *:http (LISTEN)
nginx 1311 nginx 6u IPv4 16343 0t0 TCP *:http (LISTEN)
nginx 1311 nginx 17u IPv4 526207 0t0 TCP iz2ze9n3z2fl9zj9hrv58vz:http->crawl-66-249-79-209.googlebot.com:38231 (ESTABLISHED)
nginx 1312 nginx 6u IPv4 16343 0t0 TCP *:http (LISTEN)
解释下LISTEN 和 ESTABLISHED的意义
1).LISTEN 端口启动后服务器的nginx对80端口首先处于侦听(LISTENING)状态。
2).ESTABLISHED 建立连接。表示两台机器正在80端口通信。
3).TIME_WAIT 我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。
4)CLOSE_WAIT 对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭
COMMAND:进程名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd,txt等
TYPE:文件类型,如DIR,REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的进程名称
lsof -i:80:查看80端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof +d /usr/local/:显示目录下被进程开启的文件
lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
二、 netstat 查看端口占用
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
例如查看 8000 端口的情况,使用以下命令:
netstat -tunlp | grep 8000
tcp6 0 0 :::7000 :::* LISTEN 1249/./
更多netstat查看端口占用的命令:
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
netstat 实战如何查询一个服务占用的端口
1.查询squid占用的进程
ps aux|grep squid
root 10870 0.0 0.0 92644 3744 ? Ss 13:21 0:00 /usr/sbin/squid -f /etc/squid/squid.conf
squid 10872 0.0 0.4 106168 16084 ? S 13:21 0:00 (squid-1) -f /etc/squid/squid.conf
squid 10873 0.0 0.0 27436 1228 ? S 13:21 0:00 (logfile-daemon) /var/log/squid/access.log
root 10921 0.0 0.0 112680 740 pts/0 S+ 13:29 0:00 grep --color=auto squid
2.查看端口监听
netstat -nap | grep squid
tcp6 0 0 :::3128 :::* LISTEN 10872/(squid-1)
udp 0 0 0.0.0.0:37679 0.0.0.0:* 10872/(squid-1)
udp6 0 0 :::46994 :::* 10872/(squid-1)
unix 2 [ ] DGRAM 617223 10870/squid
unix 3 [ ] STREAM CONNECTED 618094 10872/(squid-1)
tcp在用3128 进程号为10872,对应了ps aux|grep squid 的第二条记录10872
判断squid占用了3128端口
netstat -nap | grep 3128
tcp6 0 0 :::3128 :::* LISTEN 10872/(squid-1)
三、fuser是查看某个文件被哪个进程占用的
fuser查看7000端口的进程占用情况
fuser 7500/tcp -v
USER PID ACCESS COMMAND
7500/tcp: root 1249 F.... frps
This entry was posted in Linux and tagged linux, 端口. Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客 – https://java-er.com/blog/linux-port-using/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
linux查看3306是哪个进程占用,linux查看端口占用相关推荐
- Shell脚本和Python查看Nginx并发连接数、进程数和常驻内存占用情况
Shell脚本查看Nginx并发连接数.进程数和常驻内存占用情况 http://xiaoyongxing1.blog.163.com/blog/static/642807522015144302240 ...
- 查询端口占用和清除端口占用的程序
一.在windows操作系统中,查询端口占用和清除端口占用的程序 提升权限后用:netstat -b 或用 1.查询端口占用的进程ID 点击"开始"-->"运行&q ...
- windows与Linux查看端口占用并终止端口占用
终止端口占用 一.Windows版: 二.Linux版: 一.Windows版: 1.开始–运行–cmd 进入命令提示符, 2.输入netstat -ano 查看所有端口连接对应的PID , C:\& ...
- Linux中不同进程同一个端口,linux系统实现多个进程监听同一个端口
通过 fork 创建子进程的方式可以实现父子进程监听相同的端口. 方法:在绑定端口号(bind函数)之后,监听端口号之前(listen函数),用fork()函数生成子进程,这样子进程就可以克隆父进程, ...
- linux删除位于后台的进程组,linux命令(12)-进程与作业管理
(1)at 在指定时间完成任务 root可以使用这个命令,对于其他用户来说,能否可以使用就取决于两个文件:/etc/at.allow和/etc/at.deny,可以使用是将"用户名" ...
- linux dr校园网端口被占用,Dr.com端口占用的解决
Windows Vista 端口占用是个非常头痛的事情,我们学校用这个软件来认证我们上网,但是他总是出一些莫名其妙的问题,什么端口占用啊,找不到网卡啊,自动注销啊,登陆超时啊,很是烦人,端口占用可以把 ...
- CentOS查询端口占用和清除端口占用的程序
1.查询端口号占用,根据端口查看进程信息 [root@server2 ~]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE NODE N ...
- 如何在Windows中查找并端口占用和释放端口占用?
引言: 在日常工作中,经常会碰到启动某个应用时,提示xxx端口已经并占用,导致当前应用无法正常启动. 如何找到占用特定端口的应用并将其释放呢?本文将详述整个过程. 1. 查找看当前系统的端口使用情况 ...
- 怎么查看linux系统下数据库的进程数,如何查看sybase数据库运行情况
sybase数据库是不少企业管理系统的常用数据库,可运行在windows和linux等操作系统环境之下,适用性广. 1.检查数据库是否运行.检查步骤 :操作系统命令Sun solaris 和unix ...
最新文章
- 三维感知,这些干货足够了!(自动驾驶/三维重建/SLAM/点云/标定/深度估计/3D检测)...
- 经典基础算法之面试题(系列一)
- Facebook、LinkedIn、Airbnb、Google专家聚首QCon,他们会带来什么?
- 魔兽怀旧网站模块下载_一个人的网站重新设计和怀旧
- linux mate eth0已下线,Linux Mint 18 Cinnamon 版和 MATE 版已经可以下载了
- python中的引用怎么理解_python 引用和对象理解
- 2022最新Spring相关大厂常问技术面试题大全 —— 金三银四好时机
- 【Flink】Flink 提交任务到yarn报错 proxy provider ConfiguredFailoverProxyProvider NetUtils.getSocketAddressS
- VMware vCenter Server 的内部版本号和版本 (2143838)--2020-10-27 更新
- 北航博士,研究所月入两万,是一种什么体验?
- 鸿蒙移植stm32,韦东山老师要移植鸿蒙的那个STM32MP157具体是什么?
- win10更换系统启动时候的图片
- Wireshark数据抓包分析之FTP协议
- CountDownTimer 倒计时器
- 微软个人云端服务器在哪里找,云端的服务器在哪里
- 微信内测朋友圈内容转发功能;快手前副总裁侵占756万余元,一审获刑7年;​俄罗斯法院驳回苹果上诉,将继续进行反垄断调查|极客头条
- STM32F103C8T6使用RTC实现日历读取、设置和输出
- 深度之眼Paper带读笔记1:Deep learning
- Jenkins使用经验谈4(创建Job)
- mock模拟接口测试 vue_VUE使用Mock模拟接口