我有一个守护进程正在运行并完成它的工作。我希望能够在它运行时从中收集统计信息。我的环境是Linux,编程语言是C。
一个选项是让守护进程写入某个日志文件,然后解析/分析该文件以获取统计信息。此选项不提供在不重新启动守护进程的情况下更改采样率的灵 active 。此外,它还涉及解析日志文件。
另一种选择是在守护进程和统计收集器进程之间使用共享内存。这需要在修改到共享区域时手动复制所有受监视的变量。
使用管道或套接字是不可取的,因为它需要阻塞或创建新线程。
我想知道是否有像共享内存这样的技术,但我需要能够将进程变量与共享区域内的这个特定地址相关联。每当更改变量时,我不需要自己复制变量。
欢迎提出任何建议。
编辑:
我实际上想要的是 Linux 上的 /proc
文件系统,但用于用户空间进程。
最佳答案
关于c - 两个独立进程之间的共享变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7568075/