lsofサバイバルガイド[終了]


104

lsofは、UNIXシステム用の非常に強力なコマンドラインユーティリティです。開いているファイルを一覧表示し、それらに関する情報を表示します。そして、ほとんどすべてがUNIXシステム上のファイルであるため、lsofはsysadminに大量の有用な診断データを提供できます。

lsofを使用する最も一般的で便利な方法にはどのようなものがありますか?そのためにどのコマンドラインスイッチが使用されていますか?

回答:


119

特定のネットワークに関連するすべてのネットワークを表示するにはport

lsof -iTCP -i :port
lsof -i :22

特定のホストへの接続を表示するには、次を使用します @host

lsof -i@192.168.1.5

@host:port lsof -i@192.168.1.5:22 を使用して、ホストとポートに基づいて接続を表示します

grepping for LISTENは、システムが接続を待機しているポートを示します。

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)

また、-twith -uを使用して、ユーザーが開いているすべてのものを強制終了することもできます

kill -9 $(lsof -t -u daniel)


Rubyを使用している場合は、cheat gemを使用することをお勧めします。多くのユーティリティ(言語非依存)のチートシートを作成するには、コミュニティ主導の便利なCLIを使用するだけです。それを与える試みを
Kedar Mhaswade、2015年

25
lsof -i :port 

特定のポートでリッスンしているプログラムを教えてくれます。


1
これは「リッスン」に限定されないため、lsof -i :8080ポート8080でプロキシに接続しているプロセスを多数指定している場合は、それらも取得します。
Matt Byrne、2014年

14
lsof +D /some/directory

ディレクトリで開かれているすべてのファイルを再帰的に表示します。+ dは最上位のみ。

これは、IOの待機率が高く、特定のFSで使用するために相関があり、どのプロセスがIOを消費しているかを確認したい場合に役立ちます。


13

lsof -i開いているネットワークソケットのリストを提供します。この-nオプションはDNSルックアップを防止します。これは、ネットワーク接続が遅いか信頼性が低い場合に役立ちます。


5
lsof -i唯一のあなたがあなたの名前空間内へのアクセス権を持っている(と内省を通じて「インターネット」、ソケット、ネットワークソケットのないただの一種とみなされている)ことをソケットを示しています。そうでない場合、タイプ「sock」のハンドルはリストに表示されません。
Nick Bastin 2013

13

実行中のアプリケーションまたはデーモンが開いているファイルを確認します。

lsof -p pid

ここで、pidはアプリケーションまたはデーモンのプロセスIDです。


10
lsof +f -- /mountpoint

/ mountpointにマウントされたマウント上のファイルを使用するプロセスをリストします。マウントされたUSBスティックまたはCD / DVDを使用しているプロセスを見つけるのに特に役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.