tomyangzh 2018-10-10
题记
经常会发现,很多时候我们在运行一些带有端口的程序时,程序经常会报端口被占用的问题,比如Tomcat 8080,端口起不来。
查看端口号 netstat
如果发现某个端口被占用后,可以用命令查看,该端口到底是被哪个进程所占用。命令如下:
netstat -pan | grep 5623 #其中5623位端口号
如图:
发现5623的端口,被28425的进程id所占用,继续进一步跟踪,到底是哪个程序所占用了。
通过进程id查找程序–ps
直接通过:ps -aux | grep pid 查看,进程程序名称,
通过netstat查找端口占用的pid,再通过pid进一步的查找程序名称,能够确认目前冲突的端口是哪个程序已经占用了,我们是重新启用换一个端口号,还是结束已经占用的端口号所用的程序,清空被占用的端口号。
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"参数相同。
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME. java 1113 admin 252u IPv6 26643775 TCP 192.168.0.1:1