---
title: "Macで「Address already in use」：ポートを使っているプロセスを見つける · Kilobatガイド"
url: "https://kilobat.app/ja/guides/port-already-in-use.html"
description: "開発用サーバでアドレスが使用中と表示されたら、lsofでポートを待ち受けているプロセスを見つけ、停止するか別のポートを選びます。"
---

開発者向け

# Macでポートが使用中

1つのTCPポートとアドレスで待ち受けられるプロセスは1つだけです。2つ目のサーバは「address already in use」で停止します。

対象：現在のすべてのmacOS。 · 確認日：2026年10月29日

## 症状

- 開発用サーバが「EADDRINUSE」または「address already in use」で停止する。
- 「port is already allocated」のため、Dockerがポートを公開できない。
- クラッシュやエディタの再起動の前は、そのポートは空いていた。

## 考えられる原因

- **サーバの古いプロセス。**以前に起動したサーバが、バックグラウンドで動き続けています。
- **別のアプリ。**別のアプリが同じポートを使っています。macOS 12以降では、AirPlayレシーバーがポート5000と7000を使います。
- **コンテナ。**実行中のコンテナが、同じポートをMac上に公開しています。

## 確認方法

1. ポートを待ち受けているプロセスを見つけます。3000は使っているポートに置き換えてください。

   ```
   lsof -nP -iTCP:3000 -sTCP:LISTEN
   ```

   出力 COMMAND列とPID列にプロセスが表示されます。
2. 他のユーザのプロセスも見るには、同じコマンドをsudo付きで実行します。

   ```
   sudo lsof -nP -iTCP:3000 -sTCP:LISTEN
   ```

   管理者パスワードが必要です。
3. プロセスの詳細を表示します。

   ```
   ps -p 12345 -o pid,command
   ```
4. そのポートを公開しているコンテナを探します。

   ```
   docker ps
   ```

## 解決方法

1. 自分のプロセスであれば、そのターミナルウインドウでControl-Cを押して停止します。
2. そうでなければ、PIDを指定して終了シグナルを送ります。

   ```
   kill 12345
   ```
3. それでも停止しない場合は、`kill -9`を使います。プロセスはデータを保存できません。
4. macOSのプロセスであれば、停止しないでください。サーバには別のポートを選びます。
5. ポートが5000か7000の場合は、[Macでポート5000や7000が使用中：AirPlayレシーバー](https://kilobat.app/ja/guides/airplay-receiver-port-5000.html)を読んでください。

## Kilobatを使う場合

1. 1つのプロセスが開いているソケットを一覧表示します。

   ```
   kilobat destinations --pid 12345
   ```
2. PIDを指定してプロセスを終了します。停止しない場合にだけ`--force`を付けます。

   ```
   kilobat quit 12345
   ```

## よくある質問

**lsofに何も表示されないのに、ポートが使用中なのはなぜですか？**

lsofには、調べる権限のあるプロセスしか表示されません。すべてのプロセスを見るには、sudo付きで実行します。

**-nと-Pは何をしますか？**

lsofがアドレスをホスト名に、ポートをサービス名に変換しないようにします。出力が速くなり、数値で表示されます。

## 出典

- lsof(8)、macOS 27.2に付属のmanページ
- kill(1)とps(1)、macOS 27.2に付属のmanページ
- [Appleサポート：Appleソフトウェア製品で使われるTCPおよびUDPポート](https://support.apple.com/en-us/103229)

出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」で`man <name>`を実行すると開けます。

## 関連ガイド

- [Macでポート5000や7000が使用中になる：AirPlayレシーバー](https://kilobat.app/ja/guides/airplay-receiver-port-5000.html): AppleはTCPポート5000と7000をAirPlay用として挙げています。
- [MacからDockerコンテナに接続できない](https://kilobat.app/ja/guides/docker-container-from-mac.html): Mac上のDockerは、Linux仮想マシンの中でコンテナを実行します。
- [コンテナからMacのlocalhostに接続できない](https://kilobat.app/ja/guides/localhost-from-container.html): コンテナはそれぞれ独自のネットワークスタックを持っています。
- [Macで帯域幅を使っているアプリを探す](https://kilobat.app/ja/guides/which-app-uses-bandwidth.html): 「アクティビティモニタ」とnettopで、データを送受信しているプロセスがわかります。
