- 1. 概要
- 2. インストール
- 3. 使い方
- 4. オプション
1. 概要
「lsof」は「list open files」の略なのですね。
実は、最近(2019年8月29日)まで、このコマンドを知らなかったのだ。
使う必要にも迫られなかったのでね(使う必要があったのが嘆かわしいことなのであるが、それは機会があれば別途・・・)。
2. インストール
知らなかったひとつの理由は、少なくとも「FreeBSD 11.3 RELEASE」には、デフォルトでは存在していないのです。
cd /usr/ports/sysutils/lsof
make
make install
インストール時のオプションはありません。
3. 使い方
コマンドだけ打てば
> lsof
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
kernel 0 root cwd VDIR 0,82 1024 2 /
kernel 0 root rtd VDIR 0,82 1024 2 /
init 1 root cwd VDIR 0,82 1024 2 /
init 1 root rtd VDIR 0,82 1024 2 /
init 1 root txt VREG 0,82 1099064 963135 /sbin/init
dhclient 304 root cwd VDIR 0,82 1024 2 /
・・・以下略・・・
現在、システムでオープン中のすべてのファイルがリストされるようです。
表示される内容を、わたしの理解している範囲で説明すると(左から順に)
項 目 | 意 味 | 備 考 |
COMMAND | オープンしているコマンド | プロセスだったりします |
PID | プロセスID | |
USER | 実行ユーザ | |
FD | ファイルディスクリプタ | |
TYPE | ??? | |
DEVICE | ??? | |
SIZE/OFF | サイズ | |
MODE | ??? | |
NAME | ファイル名 | |
4. オプション
わたしがよく使うオプションは、以下のものです。
オプション | 意 味 |
-c | コマンド(プログラム)を指定 |
なるほどというか、ちょっと笑うのが、「-c」で「lsof」を指定してみたら・・・
> lsof -c lsof
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
lsof 2822 hogehoge cwd VDIR 0,82 512 2588550 /home/hogehoge
lsof 2822 hogehoge rtd VDIR 0,82 1024 2 /
lsof 2822 hogehoge txt VREG 0,82 140600 1691780 /usr/local/sbin/lsof
lsof 2822 hogehoge txt VREG 0,82 145304 80257 /libexec/ld-elf.so.1
lsof 2822 hogehoge txt VREG 0,82 60816 12840981 /lib/libkvm.so.7
lsof 2822 hogehoge txt VREG 0,82 1775880 12841017 /lib/libc.so.7
lsof 2822 hogehoge txt VREG 0,82 102040 12840984 /lib/libelf.so.2
lsof 2822 hogehoge 0u VCHR 0,85 0t213166 85 /dev/pts/0
lsof 2822 hogehoge 1u VCHR 0,85 0t213166 85 /dev/pts/0
lsof 2822 hogehoge 2u VCHR 0,85 0t213166 85 /dev/pts/0
lsof 2822 hogehoge 3r VCHR 0,20 0t0 20 /dev/mem
lsof 2822 hogehoge 4r VCHR 0,21 0xfffff80006412b40 21 /dev/kmem
|