例子:关闭8082端口

1. 查找被占用的端口

[root@VM_0_17_centos home]# netstat -tln | grep 8082
tcp6       3      0 :::8082                 :::*                    LISTEN

2. 查找被占用端口的PID

[root@VM_0_17_centos home]# sudo lsof -i:8082
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    5873 root   15u  IPv6 7341566      0t0  TCP *:us-cli (LISTEN)

3. kill 掉这个进程

[root@VM_0_17_centos home]# sudo kill -9 5873
[1]+  已杀死               java -jar democ-0.0.1-SNAPSHOT.jar

4. 进程和端口有关的三个常用linux命令
(1)静态进程查看

选项

-A :所有的进程均显示出来,与 -e 具有同样的效用;
-e 同 -a
-a : 显示现行终端机下的所有进程,包括其他用户的进程;
-u :以用户为主的进程状态 ;
x :通常与 a 这个参数一起使用,可列出较完整信息。
输出格式规划:

l :较长、较详细的将该PID 的的信息列出;
j :工作的格式 (jobs format)
-f :做一个更为完整的输出。

常用指令

	ps -ef|grep java  //查看tomcat 是否彻底关闭
	ps -ef | grep tomcat  查看tomcat 是否开启

(2)netstat 网络查看

选项

-a或--all:显示所有连线中的Socket; 
	-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址; 
	-c或--continuous:持续列出网络状态; 
	-C或--cache:显示路由器配置的快取信息; 
	-e或--extend:显示网络其他相关信息; 
	-F或--fib:显示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或--statistice:显示网络工作信息统计表; 
	-t或--tcp:显示TCP传输协议的连线状况; 
	-u或--udp:显示UDP传输协议的连线状况; 
	-v或--verbose:显示指令执行过程; 
	-V或--version:显示版本信息; 
	-w或--raw:显示RAW传输协议的连线状况; 
	-x或--unix:此参数的效果和指定"-A unix"参数相同; 
	--ip或--inet:此参数的效果和指定"-A inet"参数相同。

常用指令

netstat -at     # 列出所有TCP端口
netstat -lt  # 显示监听TCP端口
netstat -st    # 显示所有TCP的统计信息
netstat -p 显示 PID 和进程名称
netstat -r //路由信息
netstat -antp | grep ssh //查看服务
netstat -antp | grep 22//查看端口  n 显示ip p显示程序

(3)lsof 文件查看

lsof filename 显示打开指定文件的所有进程
lsof -a 表示两个参数都必须满足时才显示结果
lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件
lsof -u username 显示所属user进程打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /DIR/ 显示目录下被进程打开的文件
lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长
lsof -d FD 显示指定文件描述符的进程
lsof -n 不将IP转换为hostname,缺省是不加上-n参数
lsof -i 用以显示符合条件的进程情况
lsof -i46@hostname|hostaddr
46 –> IPv4 or IPv6
protocol –> TCP or UDP
hostname –> Internet host name
hostaddr –> IPv4地址
service –> /etc/service中的 service name (可以不只一个)
port –> 端口号 (可以不只一个)

常用指令

lsof -i:4000
	查看所属root用户进程所打开的文件类型为txt的文件:
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐