/proc/selfに追加できますか?

/proc/selfに追加できますか?

私のプログラムで名前付きメモリ領域をたくさん作成し、他のmmapプロセスが読みやすいようにどこかに配置したいと思います。一度に1つのプログラムインスタンスのみが実行されるという保証はありません。理想的にはブロックを下に配置したいと思います/proc/self/<blockname>。可能ですか?それとも、マッピングファイルを置く他の場所がありますか? (私のプログラムは通常rootとして実行されません。)

私は(私が知っている限り)名前を付けることができないので、/proc/self/fdorを使用したくありません。/proc/self/map_files

答え1

/procいいえ、構造は作成されるため、意味のある方法で追加できません(「実際の」ファイルシステムではありません)。/sysこれは一部のコンピュータでも同様です。変更された構造は/proc単純ではありません(例を参照)/ procの下にフォルダを作成し、そのフォルダの下にアイテムを作成します。)。

追加資料:

@mark-plotnickはPOSIX共有メモリの使用を提案しました。名前

追加資料:

答え2

いいえ。カーネルはプロセスではなく、その中に何があるかを決定します。 (それはあなたが尋ねる質問ではありません。他のプロセスはあなたのプロセスを見ることができません。)/proc/PID/proc/PID/proc/self/proc/self

プロセスが自分のデータを転送する必要がある場合、この情報を保存する一般的な場所は、管理者が開始/var/runしたプロセス(システムサービスなど)の場合は下、ユーザーが/tmp開始したプロセスの場合はユーザーのホームディレクトリです。ホームディレクトリはコンピュータ間で共有できるため、通常はプロセス関連情報を保存するのには適していません。最新のLinuxシステムにもあります。 1つを選択し、ディレクトリまたは1234がPIDであるような規則を定義します。プロセスが終了すると、ディレクトリは削除されます。/run/user/UID/tmp/myapplication-1234/run/user/myapplication/1234

関連情報