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

标签 c linux variables process shared

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

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

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

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

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

欢迎提出任何建议。

编辑:

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

最佳答案

关于c - 两个独立进程之间的共享变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7568075/

相关文章:

C++ 从 dll 调用 FORTRAN 子程序

java - 在 AWS EC2 Linux 上的 Java 进程中运行 PhantomJS

mysql - 是否可以在 MySQL "show variables"中仅显示值?

linux - lib/lib64 文件夹在 red hat linux 中重命名。无论如何要修复它?

python - 如何在图片文件名和循环中使用变量来使用 pygame 打开多张图片而不会使代码困惑

java - 有没有办法在 Java 中使用 "bulk assign" boolean 变量?

c++ - 实时 C 编程示例

c - ARM .ELF 大小 调试选项

c - 嵌套 for 循环比预期早结束

c - 这个程序如何停止接受输入?