首页 > 代码库 > linux和windows下如何知道端口是被那个程序监听占用?

linux和windows下如何知道端口是被那个程序监听占用?

背景

这个问题对运维人员来说很基础,而且此题几乎是技术面试当中的常见题,故而单独列出。

 

linux下

方法一:

netstat -lntp | grep -v grep | grep ":3306" | awk -F"/" ‘{print $2}‘

技术分享

 

方法二:

lsof -i:3306 | grep -v grep | grep "LISTEN" | awk -F[:\(] ‘{print $2}‘

技术分享

 

windows下

1、 先获取端口的Pid值

netstat -ano | findstr ":4433"

 

2、然后利用tasklist命令查找进程

tasklist | findstr "5220"

技术分享

 

扩展

 

1. windows下查找命令可以用find也可以用findstr。

2. windows下结束进程命令:taskkill /f /t /im VisualSVNServer.exe

3. windows启动停止服务命令:net start 服务名;net stop 服务名

4. windows下也可以执行awk、sed、grep命令,需要安装windows版本的awk、sed、grep命令

下载地址:

http://sourceforge.net/projects/gnuwin32/files/gawk/3.1.6-1/gawk-3.1.6-1-bin.zip/download

https://sourceforge.net/projects/gnuwin32/files/sed/4.2.1/

https://sourceforge.net/projects/gnuwin32/files/grep/2.5.4/grep-2.5.4-setup.exe/download

使用前需要先添加环境变量。

本文出自 “技术成就梦想” 博客,请务必保留此出处http://pizibaidu.blog.51cto.com/1361909/1916089

linux和windows下如何知道端口是被那个程序监听占用?