当我尝试托管一个应用程序时,出现端口 ID(8080)已被使用的错误。
尝试以下方法来了解哪个服务使用端口 8080
> netstat -aon | findstr 8080
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 7812
TCP [::]:8080 [::]:0 LISTENING 7812
> tasklist /fi "pid eq 7812"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
java.exe 7812 Services 0 119,352 K
>tasklist /svc /fi "pid eq 7812"
Image Name PID Services
========================= ======== ============================================
java.exe 7812 N/A
从上面,我们只得到了关于图像名称 java.exe 的信息。但没有得到关于服务的具体信息。
同时,我尝试了 localhost:8080,打开了 jenkins 登录页面。后来才知道,jenkins 运行在 8080 上。
想知道,如何从命令提示符中找到哪个应用程序/服务(在本例中是 jenkins)在 8080 上运行?
有趣的是,当我尝试按服务名称过滤时,它显示其绑定了不同的 pid。请告诉我为什么它显示了不同的 Pid。
>tasklist /svc /fi "services eq jenkins*"
Image Name PID Services
========================= ======== ============================================
jenkins.exe 4488 Jenkins