两个独立进程之间的共享变量

时间:2011-09-27 11:05:34

标签: c linux variables process shared

我有一个守护进程正在运行并完成它的工作。我希望能够在运行时从中收集统计信息。我的环境是Linux,编程语言是C。

一个选项是让守护进程写入某个日志文件,稍后解析/分析该文件以获取统计信息。此选项无法在不重新启动守护程序进程的情况下灵活地更改采样率。此外,它涉及解析日志文件。

另一种选择是在守护进程和统计信息收集器进程之间使用共享内存。这需要在修改为共享区域时手动复制所有受监视的变量

使用管道或套接字不是首选,因为它需要阻塞或创建新线程。

我想知道是否有一些像共享内存这样的技术,但我需要能够将流程变量与共享区域内的特定地址相关联。每当变量发生变化时,我都不需要自己复制变量。

欢迎任何建议。

修改

我想要的实际上就像Linux上的/proc文件系统,但用户空间进程。

1 个答案:

答案 0 :(得分:3)