GNU/Linux >> Linux の 問題 >  >> Linux

開いているファイル記述子を表示するが、lsof コマンドを使用しない方法

lsof | wc -l の理由は 2 つあります ファイル記述子をカウントしません。 1 つは、読み込まれた動的にリンクされたライブラリや現在の作業ディレクトリなど、開いているファイルではないものを一覧表示することです。それらを除外する必要があります。もう一つは lsof です 実行には時間がかかるため、実行中に開いたり閉じたりしたファイルを見逃す可能性があります。したがって、リストされている開いているファイルの数は概算です。 /proc/sys/fs/file-nr を見る 特定の時点での正確な値を提供します。

cat /proc/sys/fs/file-nr 主にリソースの枯渇をチェックするために、正確な数値が必要な場合にのみ役立ちます。開いているファイルを一覧表示するには、lsof を呼び出す必要があります。 、またはトロール /proc/*/fd などの同等の方法を使用します


プロセス情報は、システムによって /proc の下のディレクトリに動的に保持されます。たとえば、PID 1234 のプロセスには、/proc/1234 というディレクトリがあります。

そこにはかなりの情報がありますが、今興味があるのは /proc/1234/fd です。

注:自分が所有していないプロセスや SetUID プロセスのファイルを表示または開くには、root 権限が必要です。

例:

[email protected]:/proc# ls -l 2443/fd
total 0
lr-x------ 1 johan johan 64 Feb 27 10:26 0 -> pipe:[13637]
l-wx------ 1 johan johan 64 Feb 27 10:26 1 -> /home/johan/.xsession-errors
lrwx------ 1 johan johan 64 Feb 27 10:26 10 -> anon_inode:[eventfd]
lrwx------ 1 johan johan 64 Feb 27 10:26 11 -> anon_inode:[eventfd]
lrwx------ 1 johan johan 64 Feb 27 10:26 12 -> socket:[39495]
lrwx------ 1 johan johan 64 Feb 27 10:26 13 -> anon_inode:[eventfd]
lr-x------ 1 johan johan 64 Feb 27 10:26 14 -> anon_inode:inotify
lrwx------ 1 johan johan 64 Feb 27 10:26 15 -> anon_inode:[eventfd]
l-wx------ 1 johan johan 64 Feb 27 10:26 16 -> pipe:[37885]
lr-x------ 1 johan johan 64 Feb 27 10:26 17 -> pipe:[37886]
l-wx------ 1 johan johan 64 Feb 27 10:26 2 -> /home/johan/.xsession-errors
l-wx------ 1 johan johan 64 Feb 27 10:26 21 -> pipe:[167984]
lr-x------ 1 johan johan 64 Feb 27 10:26 22 -> pipe:[167985]
l-wx------ 1 johan johan 64 Feb 27 10:26 23 -> pipe:[170009]
lr-x------ 1 johan johan 64 Feb 27 10:26 24 -> pipe:[170010]
lrwx------ 1 johan johan 64 Feb 27 10:26 3 -> anon_inode:[eventfd]
lr-x------ 1 johan johan 64 Feb 27 10:26 4 -> pipe:[14726]
lrwx------ 1 johan johan 64 Feb 27 10:26 5 -> socket:[14721]
l-wx------ 1 johan johan 64 Feb 27 10:26 6 -> pipe:[14726]
lrwx------ 1 johan johan 64 Feb 27 10:26 7 -> socket:[14730]
lrwx------ 1 johan johan 64 Feb 27 10:26 8 -> socket:[13984]
lrwx------ 1 johan johan 64 Feb 27 10:26 9 -> socket:[14767]

[email protected]:/proc# cat 2443/fdinfo/2
pos:    1244446
flags:  0102001

また、/proc の下にある残りのファイルも見てください... システムからの多くの有用な情報がここにあります。


Linux
  1. コマンドを使用してPPKをPEMファイルに変換する方法

  2. Linuxコマンドラインでファイルの特定の行を表示する方法

  3. Cksum コマンドを使用して Linux で CRC チェックサムを計算する方法

  1. Linux で「split」コマンドを使用して iso またはファイルを分割する方法

  2. 「dd」コマンドを使用して Linux でスパース ファイルを作成する方法

  3. Wget で保存せずにファイルを要求するにはどうすればよいですか?

  1. コマンドラインを使用してLinuxでtar.gzファイルを抽出する方法

  2. ファイル:コマンドが見つかりません

  3. Linux で mail コマンドを使用してファイルを添付するには?