いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

ポート番号からプロセスを探す (linux, lsof)

概要

以下、自分用のメモです。いつも使いたいときに忘れているので、ここにメモメモ。。。

特定のポート番号を使っているプロセスを知りたいときって、結構あります。

その場合は、以下のように lsof コマンドを使います。歳のせいか、いつもこれを忘れます・・。

$ lsof -i:ポート番号

サンプル

以下、Gitpodで試した結果です。

何でも良いので、LISTENするプログラムを用意。

package main

import "net/http"

func main() {
    http.ListenAndServe(":12345", nil)
}

起動して、lsof コマンドで確認してみます。

gitpod /workspace/playground (master) $ go build -o server main.go

gitpod /workspace/playground (master) $ ./server &
[1] 7752

gitpod /workspace/playground (master) $ lsof -i:12345
COMMAND  PID   USER   FD   TYPE    DEVICE SIZE NODE NAME
server  7752 gitpod    3u  IPv6 941870399       TCP *:12345 (LISTEN)

12345ポートを使っているのは server って名前のプロセスですって出てますね。

参考情報

lsof(8) - Linux manual page

lsofコマンド入門 - Qiita


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。