lsof は、UNIX システム用の非常に強力なコマンドライン ユーティリティです。開いているファイルを一覧表示し、それらに関する情報を表示します。また、UNIX システムではほとんどすべてがファイルであるため、lsof はシステム管理者に大量の有用な診断データを提供できます。
lsof を使用する最も一般的で便利な方法と、そのために使用されるコマンドライン スイッチは何ですか?
特定のネットワークに関連するすべてのネットワークを表示するにはport
:
lsof -iTCP -i :port
lsof -i :22
特定のホストへの接続を表示するには、@host
lsof -i@192.168.1.5
@host:port
lsof -i@192.168.1.5:22を使用して、ホストとポートに基づいて接続を表示します
grep
ping forLISTEN
は、システムが接続を待機しているポートを示します。
lsof -i| grep LISTEN
特定のユーザーが開いているものを表示する-u
:
lsof -u daniel
コマンドが使用しているファイルとネットワーク接続を確認する-c
lsof -c syslog-ng
この-p
スイッチを使用すると、特定のプロセスIDが開いているものを確認できます。これは、不明なプロセスについて詳しく知るのに役立ちます。
lsof -p 10075
オプションは-t
ただPID
lsof -t -c Mail
-t
とオプションを一緒に使用すると、処理-c
できますHUP
kill -HUP $(lsof -t -c sshd)
-t
withを使用し-u
て、ユーザーが開いているすべてのものを強制終了することもできます
kill -9 $(lsof -t -u daniel)
lsof -i :port
特定のポートでリッスンしているプログラムがわかります。
lsof -i
開いているネットワーク ソケットのリストが表示されます。この-n
オプションは DNS ルックアップを防ぎます。これは、ネットワーク接続が遅いか信頼できない場合に役立ちます。
lsof +D /some/directory
ディレクトリで開いているすべてのファイルを再帰的に表示します。+d はトップレベルのみです。
これは、IO の待機率が高く、特定の FS での使用に関連付けられており、IO を消費しているプロセスを確認したい場合に役立ちます。
実行中のアプリケーションまたはデーモンが開いているファイルを確認します。
lsof -p pid
pidは、アプリケーションまたはデーモンのプロセス ID です。
lsof +f -- /mountpoint
/mountpoint にマウントされたマウント上のファイルを使用するプロセスを一覧表示します。マウントされた USB スティックまたは CD/DVD を使用しているプロセスを見つけるのに特に役立ちます。