2

プロセスの/proc/ PID /ディレクトリは、プログラムの終了後もしばらくの間保存して、その「祖父母」が/ proc / PID/statからリソース使用量をチェックできるようにしたいです。「grandcild」のリソース使用量が心配なので、wait4()を使用できません。では、どうすれば/ proc / PID /ディレクトリを保存できますか?

:プログラムを終了する直前に/ proc / PID / statをコピーすることは、私のコンテキストでは解決策ではありません。これは、そのプロセスの存続期間中の合計リソース使用統計が必要だからです。

4

2 に答える 2

4

あなたの問題への答えは、おそらくそれが終わったときに孫を出させないことです。代わりに、祖父母が/ proc / PIDから必要な情報を取得し、孫に終了するように指示できるように、祖父母にそれが行われたことを通知する必要があります(パイプ、FIFO、信号、または共有メモリチャネルを介して可能です)。繰り返しますが、どの方法でも使用できますが、シグナルがおそらく最も簡単です)。

于 2013-02-01T18:35:28.040 に答える
3

できません。/proc/PIDは実際のディレクトリではありません。実行中のプロセスを表すためにカーネルによって構築されます。プロセスが存在しない場合、そのディレクトリも存在せず、それを回避する方法はありません。

于 2013-02-01T17:45:00.920 に答える