查看linux中某个端口是否被占用,被哪个进程占用

供稿:hz-xin.com     日期:2025-01-15
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个字段的模式是为了避免误判。

开始---->运行---->cmd,或者是window+R组合键,调出命令窗口

输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是49157,首先找到它。

查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720。

继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe

或者是我们打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:

则我们点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。

这样我们就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,我们把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。

结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。

LINUX中如何查看某个端口是否被占用

总结如下:

1.netstat  -anp  |grep   端口号

如下,我以3306为例,netstat  -anp  |grep  3306(此处备注下,我是以普通用户操作,故加上了sudo,如果是以root用户操作,不用加sudo即可查看),如下图1:

图1

图1中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了。

2.netstat   -nultp(此处不用加端口号)

该命令是查看当前所有已经使用的端口情况,如图2:

图2

图中可以看出我的82端口没有被占用

3.netstat  -anp  |grep  82查看82端口的使用情况,如图3:

图3

可以看出并没有LISTEN那一行,所以就表示没有被占用。此处注意,图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆哦,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了。



Linux端口占用查询命令、查询、连接测试
在Linux中,查询端口占用情况可以通过多种命令。例如,使用"sudo netstat -anp | grep 端口号"命令,以查找特定端口,如3306,是否被使用。此命令在"图1"中展示,其中,如果监控状态显示为"LISTEN",表示该端口被占用,由服务"mysqld"使用。确保查看的命令行中包含"LISTEN"与端口号的组合,才能准确判断...

linux如何查看端口是否被占用
1、打开linux系统,在linux的桌面的空白处右击。2、在弹出的下拉选项里,点击打开终端。3、在终端窗口中输入lsof -i命令可查看某个端口的占用情况,比如查看22号端口使用情况,输入lsof -i:22命令,回车后即可查看端口的使用情况。

linux查看某个端口号被哪个进程占用
可以使用`netstat`或`lsof`命令来查看某个端口号被哪个进程占用。1. 使用`netstat`命令查看端口占用情况:`netstat`是一个强大的网络统计工具,它可以显示网络连接、路由表、接口统计等。要查看某个端口号被哪个进程占用,可以使用以下命令:bash netstat -tuln | grep 端口号 这个命令会显示所有监听中的...

linux 如何查看端口被哪个程序占用
【步骤一】lsof -i lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令,如下图 【步骤二】lsof -i:端口号 lsof -i:端口号,用于查看某一端口的占用情况,比如查看22号端口使用情况,lsof -i:22,如下图 【步骤三】ne...

linux查看端口是否被占用的命令是什么?
linux查看端口是否被占用的命令是netstat和lsof。详细解释:在Linux系统中,有多种方法可以查看哪些端口正在被占用。其中,常用的命令包括netstat和lsof。1. netstat命令:netstat是一个强大的网络工具,它可以显示网络连接、路由表、接口统计等信息。要查看当前系统中哪些端口被占用,可以使用以下命令:bash net...

LINUX中如何查看某个端口是否被占用
LINUX中查看某个端口被占用的方法1.netstat -anp |grep 端口号我以3306为例,netstat -anp |grep3306(此处备注下,我是以普通用户操作,故加上了sudo,如果是以root用户操作,不用加sudo即可查看)图中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图...

Linux查看当前系统端口占用情况linux查询占用端口
1、检测所有端口:lsof -i 此命令会显示当前Linux系统所有的TCP和UDP端口及其应用程序运行情况。2、检测指定端口:lsof -i 😡此命令会检测指定的x端口号是否被占用,可以显示x端口被某个程序打开、读写等状态。总结:Linux系统查看当前端口占用情况,可以使用netstat和lsof两个命令,它们能够快速...

linux 端口被哪个进程占用
1. Linux系统中查看端口占用情况 在Linux系统中,当需要确定某个端口是否被某个进程占用时,可以使用网络诊断工具来查看。其中,“netstat”命令是一个常用的工具,它可以显示网络连接、路由表、接口统计等网络相关信息。2. “netstat -tulpn”命令的作用 在“netstat”命令中,参数的含义如下:“-t”表示...

linux查看端口占用
当在Linux系统中遇到端口被占用的问题时,我们可以借助两种命令来排查:lsof和netstat。首先,lsof(list open files)命令是一个强大的工具,它能展示当前系统中所有打开的文件,包括网络连接。由于应用程序通过文件描述符与操作系统交互,通过lsof -i:port格式的命令,如lsof -i:9090,可以查看指定端口(...

linux查询端口被哪个程序占用
1. 使用netstat命令:`netstat`是一个用于显示网络连接、路由表、接口状态等网络相关信息的命令行工具。要查询某个端口被哪个程序占用,可以使用以下命令:bash netstat -tuln | grep 端口号 这将列出所有与该端口相关的网络连接。在输出结果中,你可以找到占用该端口的程序的PID,然后根据PID使用`ps`命令...