У меня запущен и выполняет свою работу демон-процесс.Я хочу иметь возможность собирать статистику с него во время его работы.Моя среда - Linux, а язык программирования - C.
Один из вариантов - заставить процесс демона записывать в какой-либо файл журнала и анализировать / анализировать файл позже, чтобы получить статистику.Эта опция не предоставляет гибкости для изменения частоты дискретизации без перезапуска процесса демона.Кроме того, он включает синтаксический анализ файлов журнала.
Другой вариант - использовать разделяемую память между процессом демона и процессом сборщика статистики.Для этого требуется скопировать вручную всех отслеживаемых переменных при изменении в общую область.
Использование каналов или сокетов не является предпочтительным, поскольку требует блокировки или создания новых потоков.
ЯИнтересно, есть ли какой-то метод, например, разделяемая память, но мне нужно иметь возможность связывать переменные процесса с этими конкретными адресами внутри разделяемой области.Всякий раз, когда переменная изменяется, мне не нужно самому копировать переменную.
Любые предложения приветствуются.
РЕДАКТИРОВАТЬ:
Что яна самом деле нужно, как /proc
файловая система в Linux, но для процессов в пользовательском пространстве.