組み込み Linux 3-7proc ファイル システムの使用を開始する

概要

proc - プロセス情報擬似ファイルシステム(プロセス情報仮想ファイルシステム)

proc ファイル システムは、カーネル データ構造へのインターフェイスを提供するために使用される仮想ファイル システムです。通常、これは /proc ディレクトリにマウントされます。通常、システムはこのファイル システムを自動的にマウントしますが、次のコマンドを使用して手動でマウントすることもできます。

mount -t proc proc /proc # 可以看到proc文件系统的类型也为proc

このファイル システム内のファイルのほとんどは読み取り専用ですが、書き込み可能なファイルもいくつかあり、これらのファイルを変更すると、一部のカーネル ランタイム変数が変更される可能性があります。

名前からわかるように、このファイル システムは、当初はプロセス関連の情報を提供するためにのみ使用されていましたが、その後、発展するにつれて、他のシステム関連の情報を保存するために使用されるようになりました。

ファイルとサブディレクトリ

/proc ディレクトリ下のファイルとサブディレクトリは、次のカテゴリに大別されます。

  1. /proc/[pid] サブディレクトリ
    このタイプのサブディレクトリは、対応するプロセスの pid に基づいて名前が付けられ、その下のファイルとサブディレクトリには、対応するプロセスの実行情報が含まれます。複数のスレッドを使用するプロセスの場合、通常、その下にタスク サブディレクトリがあり、タスク サブディレクトリ内の tid にちなんで名付けられたサブディレクトリ内のファイルには、各スレッドの関連情報が含まれています。これらのサブディレクトリは、getdents() 関数を使用して /proc ディレクトリを移動するときに表示されます。また、ls コマンドを使用して表示することもできます。

  2. /proc/[tid] サブディレクトリは、
    /proc/[pid]/task/ 内の各 tid によって名前が付けられたサブディレクトリと同じですが、getdents() 関数と ls コマンドの場合、これらのディレクトリは表示されません。

  3. /proc/self ソフト リンク
    魔法のリンク。プロセスがこのディレクトリにアクセスすると、自身の pid に対応する /proc/[pid] ディレクトリにアクセスするのと同じになります。

  4. /proc/thread-self ソフト リンク
    も魔法のリンクであり、スレッドがこのディレクトリにアクセスすると、スレッド自体の tid に対応する /proc/self/task/[tid] ディレクトリにアクセスするのと同じになります。

  5. /proc/[az]* その他のファイルとサブディレクトリ
    一般的に使用されるファイルは次のとおりです。

    ファイル名 使用
    コマンドライン カーネルのブートパラメータを記録する
    コマンドライン カーネルのブートパラメータを記録する
    CPU情報 CPU関連情報
    イオメム IOデバイスのメモリ使用量
    割り込む 占有割り込みと占有情報の表示
    ioport IOポートの使用状況
    女の子 システムの物理メモリ イメージ、読み取り不能
    負荷平均 システム負荷平均
    メムインフォ 物理メモリとスワップ パーティションの使用量
    モジュール ロードされたモジュールのリスト
    マウントする マウントされたファイルシステムに関する情報
    パーティション システムが認識するパーティションテーブル
    スワップ スワップパーティションの使用率
    バージョン カーネルのバージョン情報
    稼働時間 システム稼働時間

手順

プログラムは、標準 IO または C ライブラリのファイル読み取りおよび書き込み関数を直接使用してその情報にアクセスし、シェルで cat を使用してファイルの内容を直接出力できます。

/proc を取得するための画像

次の図は、/proc ディレクトリの内部と外部を明確に示しています。

元の URL: SecurityZines : フライヤーで log4j のインとアウトを理解する

mmexport1651761193108

おすすめ

転載: blog.csdn.net/lczdk/article/details/124599639
おすすめ