Address already in use エラーの対処方法
address already in use
Goで開発していてVScodeでローカルテスト、デバッグ等をしようとして、
サーバーを立ち上げようとして listen tcp :11240: bind: address already in use などと表示されることがちょくちょくあるので対応方法をメモ。
lsofコマンドで占有しているプロセスを確認
使おうとしてるポート番号[11240]が別のプロセスと被ってるので、使えないよってエラーなのでポートを占有してるプロセスを確認。
% lsof -i:11240
プロセスID[PID]を確認
これを見るとPID:47250が占有してみたいですね。
占有プロセスをキルするか、サーバー立ち上げるポートをずらさないとだめみたいですね。
% lsof -i :11240
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
__debug_b 47250 user 7u IPv6 0x8613dadbaba6c6ff 0t0 TCP localhost:11240->localhost:55666 (CLOSE_WAIT)
__debug_b 47250 user 8u IPv6 0x8613dadbc80486ff 0t0 TCP *:11240 (LISTEN)
該当のプロセスをキル
いちいちずらすの面倒なのでキルしちゃいます。
killコマンドで PID:47250 をキル
% kill -9 47250
ポートを占有していたプロセスをキルすると正常にサーバーが立ち上がるようになります。