Linux / macOS:待受ポートとプロセスを確認する
Linux の ss と macOS の lsof で TCP、UDP、待受アドレスを確認し、誤ったサービス停止を防ぎます。
実行しているホストまたはネットワーク名前空間だけを調べます。コンテナ内の結果はホスト側とは異なります。例は TCP 8080 と UDP 53 です。
1. Linux:ss で確認する
最初は TCP、次は UDP を調べます。-n は名前解決を省略し、sudo は他ユーザーのプロセス情報を確認するために使います。UDP を TCP の LISTEN 状態で判断しないでください。
sudo ss -ltnp 'sport = :8080'
sudo ss -lunp 'sport = :53'2. macOS:lsof で確認する
TCP は -sTCP:LISTEN で通常の接続を除外します。PID、COMMAND、NAME を見て、ループバックと全インターフェースの違いを確認します。UDP に TCP の状態フィルターは使いません。
sudo lsof -nP -iTCP:8080 -sTCP:LISTEN
sudo lsof -nP -iUDP:533. アプリの管理方法に従って対処する
自分のアプリと確認したら Ctrl+C や通常のサービス停止を優先します。SIGKILL は後処理を省略しデータを失う恐れがあります。検索結果を自動終了につなげないでください。結果なしでも、最終的には起動時の bind 成功を確認します。
出典と確認
資料確認日: