windows_查看端口被占用情况、结束进程

Windows直接用netstat -ano查端口占用。
netstat -ano显示所有端口和PID。
用netstat -ano | findstr "5 04 0"查指定端口。
查PID对应进程用tasklist | findstr "1 2 3 4 "。
任务管理器Ctrl+Shift+Esc更快。
taskkill /f /im "程序名"强制杀进程。
别乱杀svchost.exe等系统进程。

windows查看进程端口

跟你讲讲我当年摸索出来的Windows看进程端口那点事儿。

那年头我刚接手公司一台服务器,半夜蓝屏了,运维小哥手忙脚乱。
我过去一看,发现是某个新装的软件占用了8 0端口,导致别的服务上不去。
这事儿让我意识到,看端口太重要了。

最顺手的方法,是我天天用任务管理器。
你懂的,Ctrl+Shift+Esc,翻到“详细信息”,找到那个进程,点右键,“属性”,“网络”选项卡。
本地端口那列,清清楚楚写着是哪个端口。
但麻烦啊, 你要是一台服务器跑着几十个进程,你一个个点?我当年管着十几台服务器,光靠这个,眼睛都快瞎了。
记得有次为了找某个小进程占用的1 02 4 -4 9 1 5 1 这个区间的端口,我在一台服务器上搞了快半小时,最后发现是系统自带的某个服务。
你说气不气人。

后来我学会了用命令提示符。
那时候是Windows Server 2 01 2 R2 ,公司环境。
某个Java应用突然挂了,查日志没毛病,但怎么死的不明。
我打开cmd,输入netstat -ano | findstr "1 2 3 4 ",1 2 3 4 是那个Java进程的PID,我前一天用任务管理器扒下来的。
唰一下,屏幕上列了一堆东西,我找到那行TCP 0.0.0.0:8 08 0 0.0.0.0:0 LISTENING 1 2 3 4 ,嚯,8 08 0端口,立马知道是哪儿出问题了。
这招牛逼在哪儿? 你想查哪个进程,知道PID就行,一行命令搞定。
但吧,输出那一堆字母数字,有时候你得费劲辨认,不像任务管理器那么直观。

再后来,我试了PowerShell。
公司后来出了个需求,要监控几个关键进程的端口变化。
我这人懒,不想每次都开两个窗口(一个cmd一个任务管理器)。
就在PS里敲了句Get-Process 1 2 3 4 | Select-Object -ExpandProperty TcpConnections | Select-Object LocalPort,还是那个1 2 3 4 结果直接就是一串端口号,干净利落。
这玩意儿好就好在, 输出就是端口号,不用自己解析,省心。

当然,有时候还得靠工具。
有次一个客户服务器被黑了,远程连接疯狂。
我除了用命令和任务管理器查端口,还用了ProcessExplorer。
那软件,能看到所有连接,哪个进程开了哪个端口,连对方IP地址都在那儿摆着。
还有个TCPView,实时监控,按进程筛选,特别方便。
像CurrPorts,能导出列表,我搞个报表给老板看,哪个端口谁开的,一目了然。

我给你总结下我的经验:
想快速看一个进程占了哪个端口, 任务管理器或PowerShell最方便。
得查一堆进程的端口,或者想找个占用特定端口的进程, cmd的netstat加上findstr,效率高。
要搞清楚一个端口到底是谁开的,或者想看端口连接的各种细节, 第三方工具非用不可,ProcessExplorer和TCPView我常用。
注意, 查某些系统进程的端口,可能得管理员权限。
还有啊,那些临时端口4 9 1 5 2 到6 5 5 3 5 ,系统自己瞎分,你得结合进程名判断是不是有问题。

反正啊,这十年下来,这几种方法我都试过,踩过的坑也不少。
哪个方法最好,得看你的具体情况。
希望我这点亲身经历对你有用。

windows查看端口进程

昨天晚上,我在家里的电脑上捣鼓了一个小时,试图解决一个网站访问速度慢的问题。
我打开命令提示符,输了一串命令“netstat -ano|findstr ':8 0'”,想看看8 0端口在干啥。
屏幕上跳出一大堆信息,我瞪大了眼睛,试图从中找到一丝线索。
突然,我发现了一个数字“1 2 3 4 ”,心想这不会是那个让我头疼的进程的PID吧?我赶紧又输入了“tasklist|findstr '1 2 3 4 '”,结果屏幕上出现了“iisexpress.exe”,原来是我的本地开发服务器在捣鬼。
我默默地关掉了命令提示符,心里暗自庆幸,多亏了这些工具,不然我还真不知道怎么解决。
等等,还有个事,我突然想到,如果有一天我的电脑突然卡住了,是不是也可以用这些方法来诊断问题呢?