Problem
這問題發生在想執行某些程式卻發生port占用的情形,又不曉得兇手是誰。
How to?
其實透過netstat就可以解決這個問題了。首先是透過-b的參數:
netstat -nab
TCP [::]:49153 [::]:0 LISTENING eventlog [svchost.exe] TCP [::]:49154 [::]:0 LISTENING Schedule [svchost.exe] TCP [::]:49155 [::]:0 LISTENING [lsass.exe] TCP [::]:49168 [::]:0 LISTENING [services.exe]
-b參數會顯示出占用的process,但如果加上findstr :port去過濾,會因跳行的關係無法看到兇手是誰。 因此有另外一個方法是透過-o加tasklist指令:
netstat -nao | findstr :80
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 5932
看到pid後,再使用tasklist找process名稱:
tasklist | findstr 5932
Skype.exe 5932 Console 1 184,628 K
使用方法二的目的是為了讓你的batch比較好寫。
友藏內心獨白: 程式應該要寫得越簡單越好!
留言
張貼留言