怎么查看端口占用情况? 博客分类: windowAix WindowsCC++C#
程序员文章站
2024-03-23 18:50:46
...
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用
假如我们需要确定谁占用了我们的9050端口
1、Windows平台
在windows命令行窗口下执行:
C:\>netstat -aon|findstr 9050
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:
C:\>tasklist|findstr 2016
tor.exe 2016 Console 0 16,064 K
很清楚吧,tor占用了你的端口。
2、Aix平台
A. netstat -Aan|grep <portnumber>
找到该端口连接对应的 PCB/ADDR 和连接的协议类型。
注:PCB ----Protocol Control Block
B. 如果是 tcp 连接,则 rmsock <PCB/ADDR> tcpcb
如果是 udp 连接,则 rmsock <PCB/ADDR> inpcb
下面我们以 telnet 服务所使用的 23 号端口为例,说明该方法:
#netstat -Aan|grep 23
f1000200019ce398 tcp 0 0 *.23 *.* LISTEN
可以看到 PCB/ADDR 为 f1000200019ce398 ,且协议类型为 tcp 。
#rmsock f1000200019ce398 tcpcb
The socket 0x19ce008 is being held by proccess 185006 (inetd).
命令报告该端口正在被 inetd 进程使用, PID 为 185006 。
注意: rmsock 命令需要 root 权限执行。
C.Aix上查看进程
ps -ef
ps -ef|grep PID(上面显示的进程号)
D.关闭进程
kill -9 PID(上面显示的进程号)
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用
假如我们需要确定谁占用了我们的9050端口
1、Windows平台
在windows命令行窗口下执行:
C:\>netstat -aon|findstr 9050
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:
C:\>tasklist|findstr 2016
tor.exe 2016 Console 0 16,064 K
很清楚吧,tor占用了你的端口。
2、Aix平台
A. netstat -Aan|grep <portnumber>
找到该端口连接对应的 PCB/ADDR 和连接的协议类型。
注:PCB ----Protocol Control Block
B. 如果是 tcp 连接,则 rmsock <PCB/ADDR> tcpcb
如果是 udp 连接,则 rmsock <PCB/ADDR> inpcb
下面我们以 telnet 服务所使用的 23 号端口为例,说明该方法:
#netstat -Aan|grep 23
f1000200019ce398 tcp 0 0 *.23 *.* LISTEN
可以看到 PCB/ADDR 为 f1000200019ce398 ,且协议类型为 tcp 。
#rmsock f1000200019ce398 tcpcb
The socket 0x19ce008 is being held by proccess 185006 (inetd).
命令报告该端口正在被 inetd 进程使用, PID 为 185006 。
注意: rmsock 命令需要 root 权限执行。
C.Aix上查看进程
ps -ef
ps -ef|grep PID(上面显示的进程号)
D.关闭进程
kill -9 PID(上面显示的进程号)