开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"
如何查看端口被哪个程序占用 如何查看端口被哪个进程占用
如何查看端口被哪个程序占用 如何查看端口被哪个进程占用
如何查看端口被哪个程序占用 如何查看端口被哪个进程占用
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用
如我们需要确定谁占用了我们的9050端口
1、Windows平台
1.查看所有的端口占用情况
C:>netstat -ano
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168
TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068
TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456
TCP 192.168.3.230:2927 117.79..18:80 ESTABLISHED 4732
TCP 192.168.3.230:2929 117.79.93、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "457",回车,记下一位数字,即PID,这里是27201.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2930 117.79..18:80 ESTABLISHED 4732
TCP 192.168.3.230:2931 117.79..18:80 ESTABLISHED 4732
C:>netstat -aon|findstr "9050"
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程)
3.查看PID对应的进程
C:>tasklist|findstr "2016"
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================
tor.exe 2016 Console 0 16,064 K
P:很清楚吧,tor占用了你的端口。
C:>taskkill /f /t /im tor.exe返回比特网首页>>
在网络程序的调试过程中,经常发生一些出乎意料的事情,比如创建一个TCP服务失败,这时候往往需要查看系统的网络情况,最常用的网络抓包当然非WireShark模式。 但往往很多时候只需要查看某个端口的使用情况,它到底被那个进程(对应PID)占用了...
2、输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是457,首先协议 本地地址 外部地址 状态 PID找到它。
4、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe
5、或者是我们打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:
6、则我们点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。
7、这样我们就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,我们把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。
win7
TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456方法如下:
2、输入命令:netstat -ano,列出所有端口的情况。在列表中观察被占用的端口,比如是457,首先找到它。
4、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe
5、或者是打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:
6、则点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。
7、这样看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。
80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于(World Wide Web)即万维网传输信息的协议。搭建网站主要使用的也是80端口,但是当80端口被其他的程序占用时应该怎么办呢?
在windows下查看80端口占用情况?是被哪个进程占用?如何终止进程?
netstat -aon | findstr "80"
然后会出现占用80端口的进程PID
tasklist | findstr "4306"
很明显,是d占用了80端口;d.exe是Apache相关程序,是软件中默认情况下,Linux发行版并没有默认安装nmap命令,的一个进程,这是属于正常的使用。
不过,并不是只有d.exe进程会占用80端口,可能有其他的程序也会占用80端口,当你不知道占用端口的进程是干什么用的时,先查一下,避免关闭了正常使用的程序造成不必要的麻烦,如果确定是无效或恶意占用的程序就可以执行下面的命令.
1、查看windows所有端口进程
首先点击开始菜单选择运行,接着在运行对话框中输入“cmd”,回车打开命令提示符窗口,然后在窗口中输入【netstat -ano】,按下回车,之后就会显示所有的端口占用情况。
2、如果你要查询指定的端口占用的话,可以在窗口中继续输入【netstat -aon|findstr "提示的端口"】,这里的提示的端口设为80,那方法/步骤么就输入命令为【netstat -aon|findstr "80"】,回车之后就可以看见列表中的PID,然后根据PID在电脑的任务管理器中查看对应的占用程序,然后将其关闭即可。
3、然后根据查询的PID找到对应的进程,我么可以看到占有80这个程序的进程ID:5264,继续输入命令【tasklist|findstr "5264"】,5264就是进程ID,现在知道是哪个进程占用的我们就可以采取相应措施进行解决了。
关于如何查看端口是否被占用,可以根据以下步骤来作:
一列为程序PID,再通过tasklist命令:tasklist | findstr 27241、开始---->运行---->cmd,或者是window+R组合键,调出命令窗口;
2、输入命令:netstat -ano,列出所有端口的情况。在列表中观察被占用的端口,比如是457,首先找到它。
3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "457",回车,记下一位数字,即PID,这里是2720。
4、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe
5、或者是打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:
6、则点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。
7、这样就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。
关于如何查看端口是否被占用,可以根据以下步骤来作:
其中ss命令选项如下:1、开始---->运行---->cmd,或者是window+R组合键,调出命令窗口;
2、输入命令:netstat -ano,列出所有端口的情况。在列表中观察被占用的端口。
3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "1521",回车,记下一位数字,即PID,这里是2720。
4、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe
小编的同事昨天遇到了一个问题,在运行某个程序的时候,总提示说程序端口被占用,不能运行,这可就着急了,今天小编一系列的查看,解决了问题,今天就来教大家windows如何查看端口,从而知道端口被哪个在命令窗口,输入命令tasklist|findstr "11760",其中的11760就是上一步中记录的PID的值。程序占用了,然后在进行处理即可。下面我们一起来看看具体内容。
步骤一、Windows查看所有的端口
点击电脑左下角的开始,然后选择运行选项,接着我们在弹出的窗口中,输入【cmd】命令,进行命令提示符。然后我们在窗口中输入【netstat -ano】按下回车,即会显示所有的端口占用情况。如图所示:
步骤二、查询指定的端口占用
在窗口中,继续输入【netstat -aon|findstr "提示的端口"】,例如小编提示的端口为2080,那么小编就输入命令为【netstat -aon|findstr "2080"】,回车之后就可以看见列表中的PID,然后根据PID在电脑的任务管理器中查看对应的占用程序,接着进行关闭即可。
步骤三、查询PID对应的进行进程
如果在上面步骤之后,我们得到的PID为2016,那么我们就可以输入命令【tasklist|findstr "2016"】,在行显示的名字就是程序名,这样我们就明白是那个程序占用的端口。
步骤四、然后我们输入命令【taskkill /或者f /t /im 程序名】即可。
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 命令 大家一定对这6、关闭应用程序。个命令比较熟悉了,可能你从没有想到用到来查找哪一个程序的占用了指定的端口。但是netstat -an 的确提供了这种功能。所以有问题了一定要想到先去查找man手册,不过说实话,某些man手册写得让人看不懂,那没有办法了,就googe或者 baidu一下吧。 执行man netstat命令,你会发现netstat 提供了'-p'的选项,这个选项的功能是告诉你哪个程序占用了该端口,但是她提供的形式比较古怪是以pid/process_name提供的。pid当然 是进程id了,process_name是进程的命令,中间以'/'号分隔。 和上面的原因一样,我们只查找listen的端口,netstat 给我们提供了-l的选项,这个选项不是默认的选项。 下面以1521端口来看怎么查找到该程序,我们使用下面的命令: netstat -lnpawk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}' 在这里使用awk来匹配第4个字段的模式是为了避免误判。