返回首页您现在的位置: 主页 > 135特区总站133 > 文章内容

linux下查看某一端口被哪个进程占用

作者: admin 来源: 未知 时间: 2019-11-03 阅读:

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  知道合伙人互联网行家采纳数:7933获赞数:8698获得国家计算机网络等级4级证书,明诚地坪漆公司网络推广优秀员工。向TA提问展开全部1)使用lsof命令

  lsof是一个非常强大的linux工具,她被用来查找哪些程序使用了那些文件。在linux系统下,基本上所有的东西都可以被当作文件来用。socket当然也是一种文件了。所以lsof可以用来查找谁用了某一个端口。具体方法:

  -i是用来查找和网络相关的文件,:号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否 有程序占用了oracle的监听端口1521,就可以使用lsof -i :1521 |grep (LISTEN)。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。

  如果只有losf -i :port_number可能会查到很多应用程序,但这些程序实际并没有占用你指定的端口,这些端口只是连接到本机器或者别的机器的该端口。所以要grep (LISTEN)“,因为一个端口只可能被一个程序占用的,所以这种方法是可靠的。

  大家一定对这个命令比较熟悉了,可能你从没有想到用到来查找哪一个程序的占用了指定的端口。但是netstat -an 的确提供了这种功能。所以有问题了一定要想到先去查找man手册,不过说实话,某些man手册写得让中国人看不懂,那没有办法了,就googe或者 baidu一下吧。

  执行man netstat命令,你会发现netstat 提供了-p的选项,这个选项的功能是告诉你哪个程序占用了该端口,但是她提供的形式比较古怪是以pid/process_name提供的。pid当然 是进程id了,process_name是进程的命令,中间以/号分隔。

  和上面的原因一样,我们只查找listen的端口,netstat 给我们提供了-l的选项,这个选项不是默认的选项。

上一篇:headmeta 下一篇:端口被占用却无法找到是哪个进程占用

相关阅读

开奖结果| 红姐电信彩色备用图库| 心水论坛高手资料大全| 管家婆生活幽默博一肖| 香港马会最快开奖直播| 78图库| 天天有好彩正版资玄机资料| 生肖排期表2019高清图全部| 爆料房单双波色诗| 红姐心水论坛开奖结果|