特定のプロセスIDに対してlsofコマンドが長すぎる

特定のプロセスIDに対してlsofコマンドが長すぎる

ラッパーを介してJavaアプリケーションを実行するCentos 6.7があります。だからまずこれを実行しました。

lsof -p 15200 | wc -l and I got the results immediately as 200

次に私はこれを実行しましたが、 lsof -p 15232 | wc -l時間がかかりすぎて何の結果も得られませんでした。開いているファイルの総数を確認するために使用できる他の方法は何ですか?しばらくしてもシステムがまだ機能していないので、知りたいです。開いたファイルのサイズを大きくする必要があるかもしれません。

答え1

次のようにして、15232などのPIDによって識別されるプロセスで開かれたファイル数を取得できます。

ls -l /proc/15232/fd | wc -l

~からDebian リスト:

私は次の意味を理解しようとしています。

/proc/$PID/fd/*

文書。

このリンクは、pidが$ PIDのプロセスの開かれたファイルを指します。 Fdは、UNIXファミリシステムでプログラムの入力または出力を識別する整数である「ファイル記述子」を表します。

実際には、lsofコマンドがプロセスファイルを提供するための情報を取得する場所でもあります。

これはLinuxカーネルの機能であり、ディストリビューションとは無関係です。

関連情報