Сохранить / proc / PID / после того, как процесс существует

Я хочу, чтобы каталог / proc / PID / процесса сохранялся в течение некоторого времени даже после выхода из программы, чтобы его «прародитель» мог проверить использование ресурсов из / proc / PID / stat. Я не могу использовать wait4 (), так как меня беспокоит использование ресурсов "grand cild". Итак, как мне сохранить каталог / proc / PID /?

ПРИМЕЧАНИЕ. Копирование / proc / PID / stat непосредственно перед выходом из программы не является решением в моем контексте, поскольку мне нужна общая статистика использования ресурсов этим процессом за все время его существования.


person PaulDaviesC    schedule 01.02.2013    source источник
comment
Содержимое папки / proc / PID будет меняться за время существования процесса. Так что будет сложно сказать, когда вам следует сгенерировать копию   -  person hek2mgl    schedule 01.02.2013


Ответы (2)


Ответ на вашу проблему, вероятно, состоит в том, чтобы просто НЕ иметь выхода внука, когда это будет сделано. Вместо этого он должен сообщить дедушке и бабушке, что это сделано (через канал или FIFO, или сигнал, или даже возможен какой-то канал общей памяти), чтобы дедушка и бабушка могли получить необходимую информацию из / proc / PID, а затем сказать внуку, чтобы он вышел ( Опять же, можно использовать любой метод, но сигнал, вероятно, самый простой).

person Chris Dodd    schedule 01.02.2013

Вы не можете. /proc/PID не является настоящим каталогом - он создан ядром для представления запущенного процесса. Если процесс не существует, не будет и этот каталог, и нет никакого способа обойти это.

person Community    schedule 01.02.2013