0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

localhostのポートが分からないときに lsof で確認する方法【macOS】

0
Posted at

自分用の備忘録です。

はじめに

「ローカルサーバーを起動したが、接続先ポートが分からなくなった」
「どのアプリケーションが、どのポートを使っているか調べたい」
がターミナルで解決する方法を記事にまとめました。

待受ポートを一覧表示するコマンド

lsof -nP -iTCP -sTCP:LISTEN

なにをしてくれるコマンドなのか

  • TCP接続を待っているプロセスを一覧表示する
  • ローカルサーバーが実際に起動しているか確認できる
  • 使用中のポート番号を確認できる

コマンドのオプションを分解する

lsof
「List Open Files」の略
macOSやLinuxではネットワーク接続もファイルとして扱われる

-n
IPアドレスをホスト名へ変換しない
名前解決を省略して、結果を素早く表示する

-P
ポート番号をサービス名へ変換しない
httpではなく80のように数値で表示する

-iTCP
TCP通信に絞り込む

-sTCP:LISTEN
接続待ちのポートだけに絞り込む

実行例

COMMAND   PID   USER      FD   TYPE   DEVICE   SIZE/OFF   NODE   NAME
node      1234  user      20u  IPv6   ...      0t0        TCP    *:3000 (LISTEN)
com.docke 5678  user      50u  IPv6   ...      0t0        TCP    *:5433 (LISTEN)

読み方

意味
COMMAND ポートを使用しているプログラム
PID プロセスID
USER プロセスを実行しているユーザー
FD ファイルディスクリプタ
TYPE IPv4またはIPv6
NAME IPアドレス、ポート番号、状態
例えば
node  1234  user  ... TCP *:3000 (LISTEN)
  • Node.jsが動いている
  • プロセスIDは1234
  • 3000番ポートで接続を待っている
  • 接続先は http://localhost:3000

まとめ

  • lsof -nP -iTCP -sTCP:LISTENで待受ポートを一覧表示できる
  • COMMANDでプログラム、PIDでプロセス、NAMEでポートを確認する
  • Next.jsでは通常nodeと3000を探す
  • 3000番が表示されなければ、サーバーが起動していない可能性がある
  • ポート競合時は、使用中のプロセスを確認するか別ポートで起動する
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?