【Windows】使いたいポートが使用中になっているからプロセスを特定してkillしたいときに読む記事

【Windows】使いたいポートが使用中になっているからプロセスを特定してkillしたいときに読む記事

はじめに

コジマです。

開発環境のサーバーを起動しようとしたら
前回のプロセスが残ってて起動できない!!

なんてときに読んでほしい記事です。

特定する

管理者権限でコマンドプロンプトを起動し、
以下のコマンドを実行します。

netstat -aon

こんなのが出てきます。本当はもっといっぱい出てきます。
探すの大変ですね。

アクティブな接続

  プロトコル  ローカル アドレス      外部アドレス           状態            PID
  TCP         0.0.0.0:135            0.0.0.0:0              LISTENING       2612
  TCP         0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP         0.0.0.0:623            0.0.0.0:0              LISTENING       58676
  TCP         0.0.0.0:2179           0.0.0.0:0              LISTENING       20040
  TCP         0.0.0.0:5040           0.0.0.0:0              LISTENING       34376
  TCP         127.0.0.1:10403        0.0.0.0:0              LISTENING       54300
  TCP         127.0.0.1:10403        127.0.0.1:50771        ESTABLISHED     54300
  TCP         127.0.0.1:16992        127.0.0.1:52986        TIME_WAIT       0
  TCP         127.0.0.1:16992        127.0.0.1:53038        TIME_WAIT       0
  TCP         127.0.0.1:27017        0.0.0.0:0              LISTENING       16416
  TCP         127.0.0.1:50760        127.0.0.1:50761        ESTABLISHED     54300

オプションの説明は以下の通り。(ヘルプから抜粋)

-a すべての接続とリッスン ポートを表示します。
-n アドレスとポート番号を数値形式で表示します。
-o 各接続に関連付けられたそれらを所有するプロセス ID を表示します。

削除する

自分の削除したいポートを「ローカル アドレス」列から探します。
それと同じ行のPIDを確認します。

そのプロセスを削除するためのコマンドが以下になります。

taskkill /F /PID [PID]
※[PID]のところは自分が消したいPID

間違っても1桁~3桁のシステム固有のPIDは削除しないように注意してください。
バグります。

これであなたが使いたいプロセスは再び使えるようになるはずです。

さいごに

ローカル環境にサーバー立てたりすると時々起こります。
少々荒っぽいですが、どうにもうまくいかないときの手段としてご活用ください。

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

以上、コジマでした。


Windowsカテゴリの最新記事