【问题标题】:Shared variables between two independent processes两个独立进程之间的共享变量
【发布时间】:2011-09-27 11:05:34
【问题描述】:

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

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

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

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

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

欢迎提出任何建议。

编辑:

我实际上想要的是类似于 Linux 上的 /proc 文件系统,但用于用户空间进程。

【问题讨论】:

    标签: c linux variables process shared


    【解决方案1】:

    【讨论】: