はじめに
Web開発などで「Port 3000 is already in use」といったエラーが発生した際、対象のポートを占有しているプロセスを特定して強制終了する手順をまとめました。
手順
netstat と findstr を利用し、対象のプロセスID(PID)を特定します。出力結果の一番右の列に表示されている数値が PID です。
netstat -ano | findstr :<ポート番号>
サンプル:
C:\Users\hnaka>netstat -ano | findstr :3000
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 14028
TCP 127.0.0.1:3000 127.0.0.1:54658 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54664 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54669 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54670 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54671 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54672 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54673 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54681 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54682 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54683 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54684 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54685 TIME_WAIT 0
TCP 127.0.0.1:3000 127.0.0.1:54686 TIME_WAIT 0
TCP [::]:3000 [::]:0 LISTENING 14028
特定したプロセスを強制終了します。
taskkill /PID PID番号 /F
サンプル:
C:\Users\hnaka>>taskkill /PID 9844 /F
成功: PID 9844 のプロセスは強制終了されました。
環境
- Microsoft Windows [Version 10.0.26100.8037]