一般的に言えば、ユーザー空間からだけではできません。procfs は、プロセスの状態を報告するカーネルです。したがって、このようなことをしたい場合は、
a)コンテンツを通信できるカーネルモジュールを作成する必要があります b)何らかの信号を介してそのコンテンツの取得をトリガーします。
だから、あなたが本当にこれをしたいのなら。次のパスをお勧めします。
1) プログラムの状態を通信できるカーネル モジュールを作成します。説明のために、これを kpsmod と呼びましょう。
2)ユーザー空間と通信させ、何らかのメカニズム(ネットリンクなど)を介してユーザープロセスと通信させ、変数アドレスを登録する登録プロセスを開始します。ユーザー空間プログラムは、シグナル(SIGHUPまたはSIGUSR1など)で自分自身を「エクスポート」することに関心があることをモジュールに伝えます。これもプログラム可能にします。読み取る名前、アドレス、およびサイズを渡します (必要に応じて型情報と共に)。変数がスタックにある場合は、拒否する必要があります。これには、グローバルにアクセス可能なシンボルのみを許可する必要があります (簡単にするため)。
3) 特定の変数の proc_read 時にプロセスの ptrace スタックにアクセスすることも考えられます。
4) 次に、カーネルモジュールは、変数が読み取られるときに、すべての変数に対して /proc/kpsmod//vars* を作成する必要があります
5) proc を介してメモリの内容を読み取りダンプします (フォーマットされている可能性があります)。
そして出来上がり:-)あなたはあなたの望む効果を持っています。