linux如何查看端口被哪个进程占用

linux如何查看端口被哪个进程占用,第1张

查看那个进程占用了xxx端口

lsof -i:xxx

查看进程号为xxx的进程在哪里

ps -ef|grep xxx

个人建议你去看一下linux基础资料--比如《鸟哥私房菜基础篇》--先掌握一些常用的命令,多学些总归是好的!

希望能帮到你!

1)使用lsof命令

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

lsof -i :port_number |grep "(LISTEN)"

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

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

2)使用netstat 命令

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

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

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

下面以1521端口来看怎么查找到该程序,我们使用下面的命令:

netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'

在这里使用awk来匹配第4个字段的模式是为了避免误判。

你为什么会近视?为了淡看世间事,所以才模糊了双眼。

上一篇: linux命令-文件和目录 *** 作命令

lsof解释( 百度百科 ): lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

格式: lsof -i

格式: lsof -i :端口号

Netstat( 百度百科 )是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

格式: netstat -tunlp | grep 端口号

格式: netstat -anp | grep 端口号

格式: netstat -nultp

如果感觉本文对您有帮助可以点个赞哦

本文仅供交流学习,请勿用于非法途径

仅是个人意见,如有想法,欢迎留言

以上就是关于linux如何查看端口被哪个进程占用全部的内容,包括:linux如何查看端口被哪个进程占用、linux如何查看端口被哪个进程占用的方法、linux通过端口查看进程信息的两种方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9687714.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存