◆どのプログラムがポートを占有してるの?
事の経緯はこう。何気なく Apache を立ち上げようとしたら、こんなエラーが!
(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか1つのみを使用できます。 : make_sock: could not bind to address 0.0.0.0:80
no listing sockets available, shutting down
あれ? Apache は今まだ起動していないはずなのに、何かのプログラムがポート80を占有している?
そんな時に役立つのが netstat のオプション。︻ -o ︼を使えば、どのプログラムがポート番号を使っているのか、一覧で表示してくれる。
早速︻ netstat -ano ︼を実行。
C:\WINDOWS\system32>netstat -ano Active Connections Proto Local Address Foreign Address State PID TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1884ココを見ると、ポート80を占有しているのは PID 1884 のプログラムだ。 で、ここで PID 1884 を何が使っているかを見るには︻tasklist︼を使う。 ︻tasklist /svc /fi "PID eq 調べたいPID番号"︼という書式。早速入力すると、
このように出てきた!スカイプがポート80を使っていたらしい。 まぁ、とりあえずスカイプを終了させて、無事 apache を起動することができた(`・ω・´)
C:\WINDOWS\system32>tasklist /svc /fi "PID eq 1884"
Image Name PID Services
========================= ====== =============================================
Skype.exe 1884 N/A