根据进程号排查进程及路径(通过进程号查询数据库)
根据进程号排查进程及路径
netstat -ntpl
1、lsof -i:端口号
2、netstat -tunlp|grep 端口号
都可以查看指定端口被哪个进程占用的情况
ls -al /proc/22938/{cwd,exe}
查看某个远程IP的连接情况
lsof -i@10.30.80.220
根据连接FD查看创建时间
ll /proc/10921/fd/13
1.查看连接所在的进程号,netstat -npt | grep port,可以得到进程号
tcp 0 0 ::ffff:192.168.251.43:51520 ::ffff:192.168.110.231:8998 ESTABLISHED 32439/java
2.查看这个进程打开的这个连接的文件名,lsof -p pid | grep port,可以得到这个进程在这个端口上的连接的文件编号:
java 32439 root 118u IPv6 165707367 0t0 TCP SC-HOST-43:51518->192.168.110.231:8998 (ESTABLISHED)
java 32439 root 126u IPv6 165707404 0t0 TCP SC-HOST-43:51520->192.168.110.231:8998 (ESTABLISHED)
大家注意到118u和126u是这两个连接的文件名,然后去ll /proc/pid/fd/118,就可以看到这个连接的建立时间了
查看机器上socket连接的创建时间
数据库实例看到连接情况
10.2.89.14:22115
到10.2.89.14机器上排查端口 22115
[root@Q-gz-pro-ms-usercenter-01 ~]$ lsof -i:22115
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 12427 root 39u IPv4 504277892 0t0 TCP Q-gz-pro-ms-usercenter-01:22115->10.30.80.220:mysql (ESTABLISHED)
[root@Q-gz-pro-ms-usercenter-01 ~]$ lsof -i@10.30.80.220
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 12427 root 39u IPv4 504277892 0t0 TCP Q-gz-pro-ms-usercenter-01:22115->10.30.80.220:mysql (ESTABLISHED)
#查询PID对应的FD打开时间
[root@Q-gz-pro-ms-usercenter-01 ~]$ ll /proc/12427/fd/39
lrwx------ 1 root root 64 Dec 12 21:28 /proc/12427/fd/39 -> socket:[504277892]