本机的开发环境一般还是以win的系统居多。而开启的服务与其端口是分不开的,有时会因端口被占住而使得服务无法正常启动,那么这时就需要准确定位占用端口的进程了。
下面我在我本机启动了一个apache的服务,占用了本机的80端口。然后,通过cmd中的netstat命令和tasklist命令来定位我的进程名。
1 在运行中输入cmd,打开命令窗口。
2 netstat -aon | findstr "80"
这里的 -aon是netstat命令的参数,其中a表示“显示所有连接和侦听端口”,o表示“显示拥有的与每个连接关联的进程 ID”,
n表示“以数字形式显示地址和端口号”。
(提示下,如果大家想知道netstat命令的具体作用以及与他相关的更多参数信息,可以用netstat -help命令来查询。)
findstr命令是一个管道命令,表示查询netstat -aon结果中所有与“80”字符相关的结果。
这里我们可以查看第一条记录:TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 3528
从中可以获取到几个关键信息,第一个为80端口的类型是TCP端口,还有就是最关键的一个信息占用这个端口的进程PID为3528。有了这个信息我们就可以通过tasklist命令进一步查看占用这个端口的具体进程名。
3 tasklist | findstr "3528"
这下我们就可以定位到80端口原来是被httpd.exe这个进程占住了。而httpd.exe这个进程正是apache启动后的进程。
应该说明白了,就这么结束吧。原创博文,希望转载的能注明出处。(max.li)