总结查看端口、进程占用情况(lsof、netstat、ps、kill)
一、Linux查看端口占用情况
1、lsof(list open files)列出当前系统打开文件
查看指定端口号语法格式:
lsof -i:端口号
如果命令找不到
[root@bogon ~]# lsof -i:
-bash: lsof: command not found
请安装该命令
# yum install lsof -y
# lsof -i:7075
[root@localhost ~]# lsof -i:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr root 4u IPv6 0t0 TCP *: (LISTEN)
查看所有端口
# lsof -i
[root@localhost ~]# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd root 3u IPv4 0t0 TCP *:ssh (LISTEN)
sshd root 4u IPv6 0t0 TCP *:ssh (LISTEN)
master root 13u IPv4 0t0 TCP localhost:smtp (LISTEN)
master root 14u IPv6 0t0 TCP localhost:smtp (LISTEN)
openvpn root 6u IPv4 0t0 TCP 192.168.1.56:openvpn (LISTEN)
sshd root 3u IPv4 0t0 TCP 192.168.1.56:ssh->192.168.2.113: (ESTABLISHED)
COMMAND(进程的名称)
PID(进程的标识符)
USER(进程所有者)
FD(文件描述符)
TYPE(文件类型)
SIZE/OFF(文件大小)
DEVICE(指定磁盘名称)
NODE(索引节点)
NAME(打开文件的确切名称)
2、netstat
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
- -t (tcp) 仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化为数字
- -l 仅列出在Listen(监听)的服务状态
- -p 显示建立相关链接的程序名
[root@localhost ~]# netstat -tunlp | grep
tcp6 ::: :::* LISTEN /docker-proxy
[root@localhost ~]#
[root@localhost ~]# netstat -tunlp | grep
tcp6 ::: :::* LISTEN /mysqld
[root@localhost ~]#
[root@localhost ~]# netstat -tunlp | grep
tcp6 ::: :::* LISTEN /docker-proxy
[root@localhost ~]#
[root@localhost ~]# netstat -tunlp | grep
[root@localhost ~]#
[root@localhost ~]# netstat -tunlp | grep
tcp6 ::: :::* LISTEN /docker-proxy
[root@localhost ~]#
在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
kill -9 PID
如上实例,我们看到 7075 端口对应的 PID 为 17394,使用以下命令杀死进程:
# kill -9 17394
显示网卡列表
# netstat -i
[root@localhost ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
docker0 BMRU
ens18 BMRU
lo LRU
veth5a87904 BMRU
vethb1d0229 BMRU
vethed2e0ba BMRU
vethee02449 BMRU
[root@localhost ~]#
3、ps(用于显示当前进程的状态)
使用PS命令查看和控制进程
显示本用户的进程
# ps
[root@localhost ~]# ps
PID TTY TIME CMD
pts/ :: bash
pts/ :: ps
显示所有用户的进程
# ps -au
[root@localhost ~]# ps -au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 0.0 0.0 tty1 Ss+ : : /sbin/agetty --noclear tty1 linux
root 0.0 0.0 pts/ Ss : : -bash
root 0.0 0.0 pts/ R+ : : ps -au
显示所有进程和其状态
# ps aux
显示指定进程和其状态
# ps -aux | grep 服务
[root@localhost ~]# ps -aux | grep httpd
root 0.0 0.0 pts/ S+ : : grep --color=auto httpd
[root@localhost ~]#
[root@localhost ~]# ps -aux | grep vsftpd
root 0.0 0.0 pts/ S+ : : grep --color=auto vsftpd
[root@localhost ~]#
4、pidof
(查看服务的pid)
# pidof nginx
[root@localhost ~]# ps aux | grep nginx
root 0.0 0.0 pts/ S+ : : grep --color=auto nginx
root 0.0 0.0 ? Ss Jun26 : nginx: master process /usr/sbin/nginx
root 0.0 0.0 ? S Jun26 : nginx: worker process
[root@localhost ~]#
[root@localhost ~]# netstat -tunlp | grep nginx
tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx
[root@localhost ~]#
[root@localhost ~]# pidof nginx
二、Windows下查看端口占用情况
1、netstat
查找所有运行的端口
C:\Users\Administrator> netstat -ano
查看被占用端口对应的PID
语法格式:
netstat -ano | findstr “端口号”
C:\Users\Administrator> netstat -ano | findstr "9558"
最后一位数字就是PID,这里是8112
2、tasklist
查看指定PID的进程
语法格式:
tasklist | findstr “PID”
C:\Users\Administrator>tasklist | findstr "8112"
3、taskkill(结束进程)
强制(/F参数)杀死pid为8112的所有进程包括子进程(/T参数)
taskkill /T /F /PID 8112
也可小写
taskkill /f /t /PID 8112
或者
taskkill /f /t /im 程序名.exe
taskkill /fi “PID eq 5052”
end
最新文章
- Linear Algebra Lecture5 note
- WPF初学(一)——布局【良好界面的基础】
- .NET Remoting获取配置通道:
- c#代码画图
- Python实现ID3(信息增益)
- python 调试
- My way on Linux - [Shell基础] - Bash Shell中判断文件、目录是否存在或者判断其是否具有某类属性(权限)的常用方法
- ListView控件的Insert、Edit和Delete功能(第二部分)
- spring boot 错误,求大神帮解决
- codeforce round #467(div.2)
- AppStore IPv6-only审核被拒原因分析及解决方案-a
- 通俗易懂--SVM算法讲解(算法+案例)
- Html from 标签
- sublime text3 安装package control 出现问题解决过程记录
- Linux CentOS 7.x/6.x/5.x 导入epel源
- Linux-(chgrp,chown,chmod)
- 常用数学函数篇abs acos asin atan ceil cos exp frexp ldexp log pow sin sinh sqrt tan tanh
- VS2017连接Oracle设置
- C#动态编译引擎-CS-Script 简单使用
- iOS下ajax回调函数里不能播放audio
热门文章
- python------模块定义、导入、优化 ------->;sys模块,shutil模块
- 【git】git使用
- 【spring源码分析】BeanDefinitionRegistryPostProcessor接口可自定义bean加入IOC
- JAVA (1)–第一个GUI程序 添加标题 关闭窗口 屏幕位置 导入图标
- 你不知道的JavaScript(上卷) (Kyle Simpson 著)
- [Hi3520DV200]烧录
- Python 不可变对象练习
- 关于 unsigned int 比较大小
- chgrp命令详解
- Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用-服务提供和消费