`

怎么查看端口占用情况?

阅读更多
       开始--运行--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(上面显示的进程号)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics