Linux 如何kill杀死(关闭)某个被占用的端口
例子:关闭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的文件:
