lsof
開発元Victor A. Abell [1]
最新版4.94 / 2020年11月11日 (3年前) (2020-11-11) [2]
リポジトリ
github.com/lsof-org/lsof
lsof(エルエスオーエフ)コマンドは"list open files"の意味であり、多くのUnix系オペレーティングシステムで、オープン中のファイルやそのファイルをオープンしているプロセスのリストを出力するコマンドである。このオープンソースのユーティリティは、パデュー大学コンピューティングセンターの元アソシエートディレクター、ビクター・A・アベルによって開発・サポートされた。lsofはいくつかのUnix系OSで動作し、サポートされている。[3] オープン中のファイルには、すべてのプロセスがオープンしているディスク上のファイル、名前付きパイプ、ネットワークソケット、デバイスが含まれる。使用例の1つとしては、(特定できない何らかの)ファイルが使用中のであるために、ディスクがアンマウントできない時である。オープン中のファイルの一覧を確認することで(必要に応じてフィルタをかけることで)ファイルを使用しているプロセスを特定することができる。# lsof /varCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsyslogd 350 root 5w VREG 222,5 0 440818 /var/adm/messagessyslogd 350 root 6w VREG 222,5 339098 6248 /var/log/syslogcron 353 root cwd VDIR 222,5 512 254550 /var -- atjobs 特定のデーモンに関連づけられているポートを確認するには、次のようにする。# lsof -i -n -P 。grep sendmailsendmail 31649 root 4u IPv4 521738 TCP *:25 (LISTEN) 上のコマンドの実行結果より、「sendmail」が標準ポート "25" 版をlistenしていることが確認できる。 他には、lsof -Uを使用すれば、Unixソケットを一覧することもできる。 lsofの出力は以下の内容を表している。
例
-i
IPソケットをリストする。
-n
ホスト名の解決を行わない。(つまり、DNSを使用しない)
-P
ポート名の解決を行わない。(つまり、ポート名の代わりにポート番号をリストする)
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公開鍵
^ “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, https://books.google.co.jp/books?vid=ISBN0131411551&id=ptSC4LpwGA0C&pg=RA1-PA897&lpg=RA1-PA897&ots=Kp7AQkfiSm&dq=Lsof&ie=ISO-8859-1&output=html&sig=bbb3jzTxdoa4IlTPpgUP17T7qVU&redir_esc=y&hl=ja
外部リンク
公式ウェブサイト
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ページ
表
話
編
歴
Unixコマンド
ファイルとファイルシステム管理
cat
chattr(英語版)
chmod
chown
chgrp
cksum
cmp
cp
dd
du
df(英語版)
file
fsck
fuser(英語版)
ln
ls
lsof
mkdir
mount
mv
pax
pwd
rm
rmdir
size
split
tee
touch
type(英語版)
umask(英語版)
プロセス管理
at
bg
chroot
cron
fg
kill
killall
nice
pgrep
pidof
pkill
ps
pstree(英語版)
reboot
shutdown
time
top
ユーザ管理/環境
clear
env
exit
finger
history(英語版)
id
logname(英語版)
mesg
passwd
su
sudo
uptime
talk
tput(英語版)
uname
w
wall
who
whoami
write
テキスト処理
awk
banner
basename
comm(英語版)
csplit(英語版)
cut
diff
dirname
ed
ex(英語版)
fmt
fold(英語版)
head
iconv
join(英語版)
less
m4
more
nkf
nl
paste(英語版)
patch
printf(英語版)
read(英語版)
sed
sort
spell(英語版)
strings
tail
tr