lsof
開発元 | Victor A. Abell [1] |
---|---|
最新版 | 4.94 / 2020年11月11日 [2] |
リポジトリ | |
プログラミング 言語 | C |
サポート状況 | 開発中 |
ライセンス | BSDライセンス互換 |
公式サイト | people |
lsof(エルエスオーエフ)コマンドは"list open files"の意味であり、多くのUnix系オペレーティングシステムで、オープン中のファイルやそのファイルをオープンしているプロセスのリストを出力するコマンドである。このオープンソースのユーティリティは、パデュー大学コンピューティングセンターの元アソシエートディレクター、ビクター・A・アベルによって開発・サポートされた。lsofはいくつかのUnix系OSで動作し、サポートされている。[3]
例
[編集]オープン中のファイルには、すべてのプロセスがオープンしているディスク上のファイル、名前付きパイプ、ネットワークソケット、デバイスが含まれる。使用例の1つとしては、(特定できない何らかの)ファイルが使用中のであるために、ディスクがアンマウントできない時である。オープン中のファイルの一覧を確認することで(必要に応じてフィルタをかけることで)ファイルを使用しているプロセスを特定することができる。
# lsof /var COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME syslogd 350 root 5w VREG 222,5 0 440818 /var/adm/messages syslogd 350 root 6w VREG 222,5 339098 6248 /var/log/syslog cron 353 root cwd VDIR 222,5 512 254550 /var -- atjobs
特定のデーモンに関連づけられているポートを確認するには、次のようにする。
# lsof -i -n -P | grep sendmail sendmail 31649 root 4u IPv4 521738 TCP *:25 (LISTEN)
上のコマンドの実行結果より、「sendmail」が標準ポート "25" 版をlistenしていることが確認できる。
-i
- IPソケットをリストする。
-n
- ホスト名の解決を行わない。(つまり、DNSを使用しない)
-P
- ポート名の解決を行わない。(つまり、ポート名の代わりにポート番号をリストする)
他には、lsof -U
を使用すれば、Unixソケットを一覧することもできる。
lsofの出力
[編集]lsofの出力は以下の内容を表している。
- そのファイルをオープンしているプロセスのID(PID)
- そのプロセスのグループID(PGID)(オプション)
- 親プロセスのプロセスID(PPID)(オプション)
- プロセスが実行しているコマンド
- プロセスのオーナー
- プロセスが使用している、実行中のテキストファイルおよび共有ライブラリを含む、すべてのファイルのそれぞれに対して以下の項目を表示する
- 可能なら、そのファイルのファイル記述子の数
- ファイルのアクセスモード
- ファイルのロック状態
- ファイルのデバイス数
- ファイルのinode数
- ファイルのサイズまたはオフセット
- ファイルが格納されているファイルシステムの名前
- ファイルのパス名の利用可能なすべてのコンポーネント
- ファイルのストリームコンポーネントの名前
- ファイルのローカルおよびリモートのネットワークアドレス
- ファイルのTLIネットワーク(主にUDP)の状態
- ファイルのTCPの状態、読み込みキューの長さ、および、書き込みキューの長さ
- ファイルのTCPウィンドウの読み込みおよび書き込みの長さ(Solarisのみ)
- その他のファイルまたはファイルタイプ固有の値
関連項目
[編集]fuser
- stat (Unix)
netstat
strace
- UNIXユーティリティの一覧
- SysinternalsのProcess Explorer [1] - Windows向けの同等コマンド (Find menu -> Find Handle or DLL)
脚注
[編集]- ^ “PGP公開鍵”. 2013年1月15日閲覧。
- ^ “4.94” (2020年11月11日). 2021年7月9日閲覧。
- ^ W. Richard Stevens, Bill Fenner, Andrew M. Rudoff (2003), Unix Network Programming: the Sockets networking API, Addison-Wesley Professional, ISBN 0-13-141155-1
外部リンク
[編集]- lsof-lメーリングリスト
- sourcesのミラー
lsof(8)
– Linux Administration and Privileged Commands Manual (en)lsof(8)
– Darwin and macOS System Manager's Manual- Using lsof
- Lsof FAQ
- Sam NelsonのPCPスクリプト - Solarisでの"lsof -i"の代替となるツール
- Glsof - lsofを元に作られた2種類のユーティリティ(クエリとファイルモニタ)
- Sloth - macOS用のlsofのグラフィカルインターフェイス
- LSOFのmanページ