/proc/X/statにUID情報がないのはなぜですか?

/proc/X/statにUID情報がないのはなぜですか?

学界では、これは愚かな質問です。UID必要に応じてどこで情報を入手できるかを知っています。 proc(5) のマニュアルページによると:

       /proc/[number]/stat
              Status information about the process.  This is used by ps(1).  It is defined in /usr/src/linux/fs/proc/array.c.

       /proc/[number]/statm
              Provides information about memory status in pages.  The columns are:

       /proc/[number]/status
              Provides much of the information in /proc/[number]/stat and /proc/[number]/statm in a format that’s easier for humans to parse.

statプロセスなどに関する情報が含まれていないことは興味深いが含まれていますUID。人々が「人が読める」ファイルを代わりに使用しなければならないことは少し奇妙です。一時的な理由をご存知ですか?EUIDstatus

答え1

データを扱う場合、ほとんどの場合、重要なのは、特定の一連の作業に関連するデータのみを維持することです。公開されたデータのほとんどは、/proc単一の目的、つまり可視性が必要なツールなどのためのものです。

これらの意見に基づいて、私は3つを想定しています/proc/[number]/stat

  1. ここに表示されるデータは、の機能とデータオブジェクトに関連しています/usr/src/linux/fs/proc/array.c
  2. このデータも関連していますps
  3. ここのデータを見ると、ここにはユーザー固有のデータがないことがわかります。それはすべてプロセス指向です。

メモ:#2の場合。に関連するプロセスデータですps。ユーザーが所有するプロセスは、カーネル内の異なる場所で異なるデータ構造に維持されます。

一方、/proc/[number]/status注釈はデータの意図、すなわち人間がデータを読み取る目的をほとんど知らせることができる。したがって、ツールの観点から見ると、カーネルのこのノードは、ユーザーが使用できるように他のソースからのデータを1つの場所に収集すること以外に他の目的がない可能性があります。

追加証拠

より多くの証拠が必要な場合は、しばらく前に回答した質問を確認してください。/proc/meminfo MemTotal =?。この質問はそれを扱い、/proc/meminfoここに同様の質問があります。一部のデータはカーネル起動中にログ出力の下に公開されますdmesg。ただし、このデータはメモリに関連していて関連性があると考えられますが、/proc/meminfo次のような場合には役に立たないため存在しません。

  1. 使用するツールの対象顧客/proc/meminfo
  2. 使用しているデータの内部カーネル機能、方法、およびデータ構造とは何の関係もありません/proc/meminfo

引用する

関連情報