web-dev-qa-db-ja.com

/ proc / pid / mountinfoファイルの目的は何ですか?

/proc/pid/mountinfoファイルの目的は何ですか(pidは数値プロセスIDです)?

私が見る限り、これは/proc/mountsファイルの内容を反映していますが、情報が追加されています。

また、ファイルはすべてのプロセスで同じままのようです。ランダムに選択された2つのプロセスのdiffは出力を返しません(diff /proc/3833/mountinfo /proc/2349/mountinfo

何が含まれているのかは尋ねていません。インターネット上の定義から、「このファイルにはマウントポイントに関する情報が含まれています」と表示されます。なぜすべてのプロセスディレクトリに存在するのですか?そこでの目的は何ですか?

10
golem

/proc内のファイルについては、 カーネルのドキュメント を確認してください。

すべてのプロセスが同じマウントポイントを参照するわけではないため、プロセスごとにこのようなファイルが1つあります。 Chroot は、プロセスをファイルシステムツリーのサブツリーに制限できるようにする従来のUnix機能です。 chrootされたプロセスは、ルートの外側のマウントポイントを認識しません。 Linuxは、これを namespaces でさらに処理します。プロセスは、サブツリーを移植することにより、ファイルシステムの独自のビューを作成できます。

マウント名前空間の詳細については、 プロセスごとのプライベートファイルシステムのマウントポイント および Michael KerriskのLWNの名前空間に関する記事 を参照してください。