`

linux下根据端口号查询对应进程

 
阅读更多

我们经常使用netstat -lnp可以查询对应端口跟进程,但是有些端口是在netstat -lnp里却没显示对应的进程pid,如果我们使用某个端口已经被占用,需要找到对应占用端口的进程关闭之类的,此时可以通过lsof来查询对应端口的对应进程pid号,

 

 

[wei@vm-cbu-qa-168-13 web-deploy]$ netstat -lnp 
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:7008                0.0.0.0:*                   LISTEN      27709/java          
tcp        0      0 0.0.0.0:6208                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:800                 0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:7009                0.0.0.0:*                   LISTEN      27709/java          
tcp        0      0 127.0.0.1:15777             0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:2049                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:15778             0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:35559               0.0.0.0:*                   LISTEN      27709/java          
tcp        0      0 0.0.0.0:55336               0.0.0.0:*                   LISTEN      27709/java          
tcp        0      0 0.0.0.0:4200                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:58666               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:845                 0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:4110                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:4207                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:20880               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:4208                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:18000               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:18001               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:18002               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:42483               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:48116               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 10.20.168.13:8022           0.0.0.0:*                   LISTEN      -         

 

 

比如我们要查询20880端口被那个进程占用,netstat查询不出来

 

 [wei@vm-cbu-qa-168-13 web-deploy]$ netstat -lnp | grep 20880      

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:20880               0.0.0.0:*                   LISTEN      -       

 

我们用lsof来查询下

 


[wei@vm-cbu-qa-168-13 web-deploy]$ lsof -Pnl +M -i4 | grep 20880
java      15239      710  260u  IPv4 87019792       TCP 10.20.168.13:35822->10.20.172.31:20880 (ESTABLISHED)
java      15239      710  285u  IPv4 87038933       TCP 10.20.168.13:43058->10.20.172.93:20880 (ESTABLISHED)
java      25755      712  544u  IPv4 87265535       TCP *:20880 (LISTEN)
java      25755      712  562u  IPv4 87265755       TCP 10.20.168.13:40151->10.20.168.16:20880 (ESTABLISHED)
java      25755      712  563u  IPv4 87265695       TCP 10.20.168.13:59947->10.20.151.21:20880 (ESTABLISHED)
java      25755      712  564u  IPv4 87265696       TCP 10.20.168.13:47042->10.20.142.80:20880 (ESTABLISHED)
java      25755      712  565u  IPv4 87265703       TCP 10.20.168.13:40939->10.20.141.52:20880 (ESTABLISHED)
java      25755      712  570u  IPv4 87265751       TCP 10.20.168.13:43361->10.20.141.141:20880 (ESTABLISHED)
java      25755      712  571u  IPv4 87265753       TCP 10.20.168.13:40960->10.20.143.111:20880 (ESTABLISHED)
java      25755      712  572u  IPv4 87265752       TCP 10.20.168.13:45368->10.20.141.63:20880 (ESTABLISHED)
java      25755      712  573u  IPv4 87265754       TCP 10.20.168.13:34315->10.20.168.17:20880 (ESTABLISHED)
java      27709      713  339u  IPv4 87271862       TCP 10.20.168.13:50212->10.20.172.11:20880 (ESTABLISHED)
java      27709      713  341u  IPv4 87271859       TCP 10.20.168.13:41128->10.20.172.88:20880 (ESTABLISHED)
java      27709      713  347u  IPv4 87271865       TCP 10.20.168.13:46782->10.20.172.1:20880 (ESTABLISHED)

 

可以看到监听20880端口的是进程pid是25755,user是   712

i4是查询ipv4端口

 

[wei@vm-cbu-qa-168-13 web-deploy]$ lsof -Pnl +M -i4             
COMMAND     PID     USER   FD   TYPE   DEVICE SIZE NODE NAME
portmap    1616       32    3u  IPv4     3488       UDP *:111[portmapper] 
portmap    1616       32    4u  IPv4     3489       TCP *:111[portmapper] (LISTEN)
DragoonAg  4153        0    6u  IPv4 28872832       TCP 10.20.168.13:54978->10.20.149.114:13888 (ESTABLISHED)
DragoonAg  4153        0    8u  IPv4 28872826       TCP 127.0.0.1:15777 (LISTEN)
DragoonAg  4153        0   10u  IPv4 28872828       TCP 127.0.0.1:15778 (LISTEN)
DragoonAg  4153        0   12u  IPv4 28872836       UDP 10.20.168.13:13777->10.20.149.114:60569 
DragoonAg  4153        0   13u  IPv4 86898035       TCP 10.20.168.13:38027->10.20.159.108:15888 (ESTABLISHED)
DragoonAg  4153        0   15u  IPv4 86648332       TCP 127.0.0.1:15777->127.0.0.1:41653 (ESTABLISHED)
python    10488        0    4u  IPv4   292127       TCP 10.20.168.13:8022 (LISTEN)
java      15239      710    5u  IPv4 86647757       TCP *:4208 (LISTEN)
java      15239      710   15u  IPv4 86647829       TCP *:35485 (LISTEN)
java      15239      710   18u  IPv4 86647831       TCP *:4207 (LISTEN)
java      15239      710   20u  IPv4 86647833       TCP *:42483 (LISTEN)
java      15239      710   22u  IPv4 87286934       TCP 10.20.168.13:44190->110.75.194.17:80 (CLOSE_WAIT)
java      15239      710  246u  IPv4 86648330       TCP 127.0.0.1:41653->127.0.0.1:15777 (ESTABLISHED)
java      15239      710  253u  IPv4 86648976       TCP *:4110 (LISTEN)
java      15239      710  255u  IPv4 87010313       TCP 10.20.168.13:4110->10.20.172.31:38036 

 

i6是查询ipv6端口

[wei@vm-cbu-qa-168-13 web-deploy]$ lsof -Pnl +M -i6 
COMMAND   PID     USER   FD   TYPE   DEVICE SIZE NODE NAME
cfservd  5513        0    4u  IPv6    17813       TCP *:5308 (LISTEN)
java    13334        0   64u  IPv6 85851503       TCP 10.20.168.13:46591->10.20.145.12:57126 (ESTABLISHED)
java    13334        0   65u  IPv6 86276005       TCP 10.20.168.13:34506->10.20.172.85:80 (CLOSE_WAIT)
java    13334        0   66u  IPv6 86313523       TCP 10.20.168.13:36320->10.20.172.85:80 (CLOSE_WAIT)
java    13334        0   67u  IPv6 86382763       TCP 10.20.168.13:52680->10.20.172.85:80 (CLOSE_WAIT)
java    13334        0   71u  IPv6 85851508       TCP *:58126 (LISTEN)
    lsof命令参数解释 

  1) -P :这个选项约束着网络文件的端口号到端口名称的转换。约束转换可以使lsof运行得更快一些。在端口名称的查找不能奏效时,这是很有用的。 

  2) -n : 这个选项约束着网络文件的端口号到主机名称的转换。约束转换可以使lsof的运行更快一些。在主机名称的查找不能奏效时,它非常有用。 

  3) -l :这个选项约束着用户ID号到登录名的转换。在登录名的查找不正确或很慢时,这个选项就很有用。 

  4) +M :此选项支持本地TCP和UDP端口映射程序的注册报告。 

  5) -i4 :仅列示IPv4协议下的端口。 

  6) -i6 : 仅列示IPv6协议下的端口。 

 

0
3
分享到:
评论

相关推荐

    Shell脚本实现根据端口号kill相应进程功能

    Linux根据占用的端口号来关闭相应的进程的shell脚本写法。   代码如下: kill -9 $(lsof -i:22 |awk ‘{print $2}’ | tail -n 2)

    Linux中怎么通过PID号找到对应的进程名及所在目录方法

    本篇文章主要介绍了Linux中怎么通过PID号找到对应的进程名及所在目录方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    linux执行jar文件脚本.sh

    在linux系统中执行jar包,我们需要先杀掉对应端口的进程,然后执行java -jar命令,启动服务

    linux端口说明列表

    ubuntu下查看进程端口  一、查看进程端口  # 查看所有打开的端口及服务名(注意这里显示的服务名只是标准端口对应的服务名,可能并不准确) ...  # 查看端口号对应的系统服务名称  cat /etc/services  #

    linux常用19个命令,持续更新

    5.根据端口查看对应进程 6.进程号查程序所在位置 7.查找文件 8.文件夹设置权限 9.是否启动成功 10.删除 11.解压命令 12.压缩 13.导出导入 14.防火墙 15.开启端口 16.进程操作 17.查询当前路径 18.安装telnet 19.上传...

    cmd操作命令和linux命令大全收集

    kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内) del -F 文件名 加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、...

    Linux FTP服务配置

    vsftp的含义就是Very Security Ftp,下面就简要的说一下它的配置和使用方法,通过本文的介绍也希望您能了解在Linux下配置一个网络服务的基本过程  1.相关配置文件  /etc/vsftpd.conf,vsftpd.ftpuser,vsftpd.user_...

    linux网络编程学习笔记

    对应客户端,当我们要得到连接的端口号时在 connect调用成 功后使用可得到 系统分配的端口号.对于服务端,我们用 INADDR_ANY 填充后,为了得到连 接的 IP我们可以在 accept 调用成功后 使用而得到IP地址. 在网络上有...

    基于Linux 的防火墙技术研究

    ·源和目的端口号,一条规则中可以指定10 个以上的端口,也允许指定端口范围; ·ICMP 报文类型; 基金项目:国家自然科学基金资助项目(60234030) 2 ·包中的ACK 和SYN 标志,这是为了防止在某个特定方向上建立新的链接...

    linux内核 0.11版本源码 带中文注释

    \ // 0x70 是写端口号,0x80|addr 是要读取的CMOS 内存地址。 inb_p (0x71); \ // 0x71 是读端口号。 } ) #define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) // 将BCD 码转换成数字。 static ...

    linux应用与开发基础

    1.5 LINUX版本号................................................................. 8 1.6 LINUX与其他系统的比较....................................................... 8 1.7 列举一些LINUX下的软件............

    入门学习Linux常用必会60个命令实例详解doc/txt

    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...

    LINUX FTP设置方法

    20.3.1 改变端口号 vi vsftpd.conf #新增底下一行,原有的配置不动 listen_port=2121 #重启服务 service vsftpd restart 20.3.2 特定用户不能更改目录 使用者的预设目录为/home/username,若是我们不希望使用...

    《安天365安全研究》第二期.pdf

    目录 第 1 部分拟研究技术专题 1.1《黑客攻防实战——web 漏洞挖掘与利用》图书 1.2 安天实战课题研究 2017 年第二期...2.14.1 查找端口对应的服务进程 2.14.2 查找进程对应的服务 2.14.3 停用进程服务 2.14.4 学习小结

    基于TCP的服务器客户端编程讲解.doc

    "名称 " " "实验目的:1、掌握Linux下的TCP客户端基本原理和基本编程方法 " " " "实验内容: " "1、写Linux下TCP服务器套接字程序,程序运行时服务器等待客户的连接,一旦连接 " "成功,则显示客户的IP地址、端口号,...

    服务器意外重启之后PHP-FPM不能启动如何解决.pdf

    突然似乎想到了什 么,要检查下PID文件,因为在Linux下记录某个进程是否运行是通过生成一个对应的PID文件,写入当前的进程号作标识的。真是喜出望外呀~这个 pid文件是空的,虽然有这个名称的文件,但里边没有内容。...

    Linux-FTP配置说明及安装源文件

    20.3.1 改变端口号 vi vsftpd.conf #新增底下一行,原有的配置不动 listen_port=2121 #重启服务 service vsftpd restart 20.3.2 特定用户不能更改目录 使用者的预设目录为/home/username,若是我们不希望使用者redhat...

    IIS6.0 IIS,互联网信息服务

    一个IP地址对应多个Web站点 当按上步的方法建立好所有的Web站点后,对于做虚拟主机,可以通过给各Web站点设不同的端口号来实现,比如给一个Web站点设为80,一个设为81,一个设为82……,则对于端口号是80的Web站点,...

    自己动手写操作系统(含源代码).part2

    上篇基本上是第一版的修订,只是做了一个调整,那便是在兼顾 Windows和Linux两方面用户的基础上,默认在Linux下建立开发环境来编写我们的操作系统。至于这样做的原因,在本书第 2章有比较详细的说明。当然,开发环境...

Global site tag (gtag.js) - Google Analytics