
/proc は Linux ルートディレクトリにあるディレクトリです。プロセスに関する情報が含まれています。ただし、実際にはプロセステーブルとその内容はすべてRAMのカーネルに保存されます。私の問い合わせに答えてください。私はここに初めて来たので、馬鹿のように聞こえるかもしれません。
答え1
~からマニュアルページ:
proc ファイルシステムは、カーネルデータ構造へのインタフェースを提供する擬似ファイルシステムです。
/ procはセカンダリストアではありません。 /sysと同様に、/procはカーネルウィンドウへのアクセスを提供するファイルシステムです。/proc/1234/cmdline
たとえば、ディスクファイルではありません。インデックスノード以外はスペースを占有しません。そのファイルを読み込むと、実際にカーネルメモリにアクセスします。
/procの一部のファイルに書き込もうとすると、/procが通常のファイルシステムではないことがわかります。ルートとして試してみてくださいecho blabla > /proc/$$/cmdline
。あなたは次のような挨拶を受けるでしょう。エコ:書き込みエラー:無効な引数。cmdline
ルートでさえ読み取りのみ可能です。同様に、/sysには書き込みのみ可能なファイルが含まれています。たとえば、試してみてcat /sys/block/sda/device/delete
ください(ただし、書き込まないでください。論理的にシステムからsdaデバイスを削除します。誤ってこれを実行した場合は、最も簡単な回避策は再起動です)。
同様のケースがあります/dev/kmem
。これはファイルシステムではなく、カーネルメモリへのアクセスを提供するデバイスファイルです。ストレージデバイスを意味しません。
警告する:/procと/sysの特定のファイルを書き込んだり読んだりするのは危険です。