命令行查看端口号被哪个进程占用

时间:2024.3.31

在网络程序的调试过程中,经常发生一些出乎意料的事情,比如创建一个TCP服务失败,这时候往往需要查看系统的网络情况,最常用的网络抓包当然非WireShark模式。但往往很多时候只需要查看某个端口的使用情况,它到底被那个进程(对应PID)占用了,或者你还需要把它Kill掉。如果你在Windows操作系统,你可以使用netstat命令来查询PID,然后可以打开任务管理器,查看这个PID对应的进程名;如果PID没有显示,菜单》查看》选择列》选中PID即可;得知进程后,我们可以将进程杀掉。下面我简单描述一下我所了解的在Windows和Linux系统下处理方式。 (假如我们需要确定谁占用了我们的9010端口)

1、Windows平台

在windows控制台窗口下执行:

netstat -nao | findstr "9010"

TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017

你看到是PID为3017的进程占用了9010端口,如果进一步你想知道它的进程名称,你可以使用如下命令:

tasklist | findstr "3017"

如果你想杀死这个进程,你当然可以用前面描述的那种方法,在任务管理器里把它KILL了,但如果你喜欢高效一点,那么用taskkill命令就可以了。

taskkill /pid 3017

那么这个进程就灰灰湮灭了:)

2、Linux

如果你是个Linux爱好者,那个这个命令你应该很熟了,

netstat -pan | grep 9010

如果你稍微仔细一点,你会发现,用的都是netsta命令,事实上,netstat是一个比较通用的网络统计命令,几乎适用于所有现在流行的操作系统,无论是Linux,Window,还是其他Unix,或者Unix-like操作系统,而且用法基本一致。

下面是一个对Windows系统中netstat命令行参数的详细解释。

格式:

netstat [-a] [-e] [-n] [-o] [-p Protocol] [-b] [-r] [-s] [-v] [Interval]

参数说明:

-a 显示所有连接和监听端口。

-n 以数字形式显示地址和端口号。

-o 显示与每个连接相关的所属进程 ID。

-p 在Windows系统中,该选项用于指定默认情况的子集。proto 显示 proto 指定的协议的连接;proto 可以是下列协议之一: TCP、UDP、TCPv6 或 UDPv6。

如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:

IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下; 包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意此选项 可能需要很长时间,如果没有足够权限可能失败。

-e 显示以太网统计信息。此选项可以与 -s选项组合使用。

-s 显示按协议统计信息。默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息。

-r 显示路由表。

-v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件。

interval 重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按 CTRL+C 停止重新显示统计信息。如果省略,netstat 显示当前

配置信息(只显示一次)。


第二篇:DOS或命令行下查看进程,结束进程命令


DOS或命令行下查看进程,结束进程命令

XP中和进程有关的命令:

在system32目录中,dir task*

会看到如下几个文件:

+------------------------------+

taskkill.exe

tasklist.exe

taskman.exe

taskmgr.exe

+------------------------------+

其中,tasklist 已经算是一个比较强悍的查进程工具了,不用费事去下载其他工具。 直接敲tasklist命令,看到结果和进程Ctrl+Shift+Esc进程管理器看到的结果差不多。

用tasklist /?可以看到该命令的帮助。

比较常用的参数有:

/M [module] 列出所有其中符合指定模式名的 DLL 模块的所有任务。如果没有指定模块名,则显示每个任务加载的所有模块。

例如,我想查看Firefox进程加载的所有模块。那么,可以先直接用tasklist查到firefox的PID,比如2436,然后用

Tasklist /Fi "PID eq 2436" /M 显示出firefox进程所调用的模块。

/V 进程详细信息。主要是用它来知道进程对应的执行文件位置。

/SVC 显示进程相关的服务。 有什么用处呢? 比如:很多人有“svchost恐惧症”,一看见这个进程就疑心是不是中了病毒。用tasklist /SVC命令可以查看到底是那些进程使用了svchost服务。

其他细节可以在tasklist /? 中查到。

对应的,还有taskkill命令,杀进程的。

参数和tasklist差不多,也可以用taskkill /? 来显示所有参数用法。

记一下/PID和/T 就够用了

T的意思是Tree,这个参数的功能是结束一个进程树。

例如:taskkill /PID 1234 /T ,结束某个PID为1234的进程及其子进程。

这个工具不必很用心记,用Ctrl+Shift+Esc弹出进程管理器来杀进程更方便些。

cmd下两个非常重要的命令,往往我们在得到对方的dosshell以后,想给对方传送木 马或者rdmin等远程控制软件,但是对方开了win自带的防火墙,或者是天网,更或者 是瑞星的实时监控(其中以瑞星的最麻烦,因为都是有关联服务的),这时我们可以 用"tsd -c q -p PID",PID的获得方法有vbs脚本,也可以使用tasklist..现在先说下 tasklist...(cmd下执行tasklist就可以获得进程的详细资料,如下图所示)

PID也就是process id--进程id,获得进程id的作用,嘿嘿,不用说太明白了吧 Taskkill的具体格式

taskkill 有如下参数:

/S system 指定要连接到的远程系统。

/U [domain\]user 指定应该在哪个用户上下文

执行这个命令。

/P [password] 为提供的用户上下文指定

密码。如果忽略,提示输入。

/F 指定要强行终止

进程。

/FI filter 指定筛选进或筛选出查询的

的任务。

/PID process id 指定要终止的进程的

PID。

/IM image name 指定要终止的进程的

图像名。通配符 '*'

可用来指定所有图像名。

/T Tree kill: 终止指定的进程

和任何由此启动的子进程。

/? 显示帮助/用法

例如:

TASKKILL /S system /F /IM notepad.exe /T

TASKKILL /PID 1230 /PID 1241 /PID 1253 /T

TASKKILL /F /IM notepad.exe /IM mspaint.exe

TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"

TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM * TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*" 我一般用的是 taskkill /f /pid <相对的PID值> /t

比如我们要在DOS下结束QQ.exe 先用tasklist查一下QQ的PID值,我现在的是3108,那么输入

taskkill /f /pid 3108 /t

这个命令的意思是,强行终止远程计算机进程ID为3108的特定进程,并关

由此进程打开任何子进程...

最后补充,用vbs脚本查看pid的方法,将以下代码保存为vbs文件,dos下传给对方 ,然后执行cscript pid.vbs

wscript.echo "PID ProcessName"

for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_

wscript.echo ps.handle&vbtab&ps.name

next

杀进程的其他命令

ntsd -c q -p PID

-----------------------------------------------------------------------------------------------------------------------------------------------

以下是命令行下关于 taskkill 命令的介绍

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\tanyuqiang.COLORME>taskkill /?

TASKKILL [/S system [/U username [/P [password]]]]

{ [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

描述:

这个命令行工具可用来结束至少一个进程。

可以根据进程 id 或图像名来结束进程。

参数列表:

/S system 指定要连接到的远程系统。

/U [domain\]user 指定应该在哪个用户上下文

执行这个命令。

/P [password] 为提供的用户上下文指定

密码。如果忽略,提示输入。

/F 指定要强行终止

进程。

/FI filter 指定筛选进或筛选出查询的

的任务。

/PID process id 指定要终止的进程的

PID。

/IM image name 指定要终止的进程的

图像名。通配符 '*'

可用来指定所有图像名。

/T Tree kill: 终止指定的进程

和任何由此启动的子进程。

/? 显示帮助/用法。

筛选器:

筛选器名 有效运算符 有效值

----------- --------------- --------------

STATUS eq, ne 运行 | 没有响应

IMAGENAME eq, ne 图像名

PID eq, ne, gt, lt, ge, le PID 值

SESSION eq, ne, gt, lt, ge, le 会话编号

CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为

hh:mm:ss。

hh - 时,

mm - 钟,ss - 秒

MEMUSAGE eq, ne, gt, lt, ge, le 内存使用,单位为 KB

USERNAME eq, ne 用户名,格式为

[domain\]user

MODULES eq, ne DLL 名

SERVICES eq, ne 服务名

WINDOWTITLE eq, ne 窗口标题

注意: 只有带有筛选器的情况下,才能跟 /IM 切换使用通配符 '*'。

注意: 远程进程总是要强行终止,

不管是否指定了 /F 选项。

例如:

TASKKILL /S system /F /IM notepad.exe /T

TASKKILL /PID 1230 /PID 1241 /PID 1253 /T

TASKKILL /F /IM notepad.exe /IM mspaint.exe

TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"

TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *

TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"

C:\Documents and Settings\tanyuqiang.COLORME>

--------------------------------------------------------------------------------------------------------------------------------------------

Linux下查看终止进程的命令

如查看JAVA进程

[root@thg ~]# ps -ef |grep java

root 11683 1 2 11:15 pts/1 00:00:42 /usr/java/jdk1.5.0_12/bin/java -Djava.endorsed.dirs=/data/tomcat/common/endorsed -classpath /usr/java/jdk1.5.0_12/lib/tools.jar:/data/tomcat/bin/bootstrap.jar:/data/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/data/tomcat -Dcatalina.home=/data/tomcat -Djava.io.tmpdir=/data/tomcat/temp org.apache.catalina.startup.Bootstrap start

root 11869 11837 0 11:46 pts/2 00:00:00 grep java

[root@thg ~]#

杀掉JAVA进程

[root@thg ~]# kill -9 11683

更多相关推荐:
查看端口号被占用情况

第一步打开运行窗口输入cmd回车第二步在窗口中输入netstatnaoFINDSTR端口号其中FINDSTR与端口号之间必须要有空格第三步回车后如果商品被占用将有相关信息显示在这个信息中对应相应的端口号有相应的...

如何查看端口号被哪个程序占用了

如何查看端口号被哪个程序占用了一1Cmd输入netstatano可以看到2例如我查80端口被什么占用了对应的进程id是3600再输入tasklist来查看pid3600是哪个进程什么程序在跑3可以很快看到是to...

如何查询端口号被哪个程序占用

如何查询端口号被哪个程序占用以下文章主要以80端口号为例如果想知道其他的端口号也可以使用该方法quot到底是谁占用了80端口该怎么查怎么终止它quot这里就简单讲解一下在windows下如何查看80端口占用情况...

如何查看端口被占用

查看和更改端口被占用前段时间停止了Apache结果在打开的时候发现无法打开80端口被占用于是winr运行cmd输入netstatano可以看到80端口被PID4占用于是打开任务管理器进程查看选择列勾选PID可以...

如何查看80端口是否被占用_端口被占用解决办法

80端口是否被占用的解决办法80端口是否被占用的解决办法一问题描述公司外网发布是必须使用80端口可是每次tomcat启动时总时报端口占用如果将端口改为不用的端口例如8090等就能正常启动使用二问题分析一般服务器...

如何查看80端口是否被占用_端口被占用解决办法

如何查看80端口是否被占用端口被占用解决办法进入CMD输入netstatano就可以很清楚的看到本地80口占用程序的PID然后再去任务管理器里查找到PID所对应的进程如果任务管理器没有PID查看gt选择列原来是...

怎么看端口是否被占用然后在进行处理?

小编的同事昨天遇到了一个问题在运行某个程序的时候总提示说程序端口被占用不能运行这可就着急了今天小编一系列的查看解决了问题今天就来教大家windows如何查看端口从而知道端口被哪个程序占用了然后在进行处理即可下面...

XP查看端口占用及处理

开始运行cmd进入命令提示符输入netstatano即可看到所有连接的PID之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项可以在任务管理器中选quot查看quotquot选择列qu...

课题:命令行查看端口号被哪个进程占用

命令行查看端口号被哪个进程占用在网络程序的调试过程中经常发生一些出乎意料的事情比如创建一个TCP服务失败这时候往往需要查看系统的网络情况最常用的网络抓包当然非WireShark模式但往往很多时候只需要查看某个端...

查看本机端口占用情况

利用快捷键winR键打开运行窗口输入cmd回车打开命令提示符窗口1查看本机开放的端口即已被占用的端口号命令netstatan部分结果列表ProtoLocalAddressForeignAddressStateT...

如何查看端口号是否被占用,如何查看什么程序占用80端口===

如何查看端口号是否被占用如何查看什么程序占用80端口在网络程序的调试过程中经常发生一些出乎意料的事情比如创建一个TCP服务失败这时候往往需要查看系统的网络情况最常用的网络抓包当然非WireShark模式但往往很...

查看程序端口占用情况

Linux查看程序端口占用情况今天发现服务器上Tomcat8080端口起不来老提示端口已经被占用使用命令psauxgreptomcat发现并没有8080端口的Tomcat进程使用命令netstatapn查看所有...

查看端口号被占用(40篇)