Сохранить /proc/PID/ после того, как процесс существует
Я хочу, чтобы каталог /proc/PID/ процесса был сохранен в течение некоторого времени даже после выхода из программы, чтобы его "родитель" мог проверить использование ресурсов из /proc/PID/ stat. Я не могу использовать wait4(), так как я обеспокоен использованием ресурсов "grand cild". Итак, как я могу сохранить каталог /proc/PID/?
ПРИМЕЧАНИЕ. Копирование /proc/PID/ stat непосредственно перед выходом из программы не является решением в моем контексте, так как мне нужна общая статистика использования ресурсов этого процесса за все время его существования.
2 ответа
Ответом на вашу проблему, вероятно, является просто НЕ иметь выхода внука, когда это будет сделано. Вместо этого он должен сообщить бабушке и дедушке, что это сделано (через pipe, fifo, или по сигналу, или даже через какой-либо канал совместно используемой памяти), чтобы бабушка и дедушка могли получить необходимую информацию из /proc/PID, а затем сказать внуку о выходе (опять же, любой метод может быть использован, но сигнал, вероятно, самый простой).
Ты не можешь /proc/PID
это не настоящий каталог - он создан ядром для представления запущенного процесса. Если процесс не существует, то не будет и этого каталога, и нет никакого способа обойти это.