如何有效地 运行 后台处理和记录数据(Debian,Beaglebone Black)

How to effectively run a background Processing and Logging of Data (Debian, Beaglebone Black)

我正在寻求有关我面临的实施问题的帮助。我是一名在嵌入式环境和 RTOS 方面经验丰富的 C/C++ 程序员,但在 linux 方面我是个新手。

我有一个 beaglebone black 运行ning Debian。我需要记录和处理来自连接到 I2C 总线和 ADC 的传感器的数据。我已经编写了用于从连接的传感器收集数据的处理函数,没问题,它们工作正常。我想实现(类似于 RTOS)一个定时器中断,它可以将进程抛给我的处理函数,这样他们就可以做他们的事情,我希望它在后台 运行。即我不想绑定 shell 或其他任何东西,以便用户可以做其他事情。我读到 timer_create 是在 Debian 中或使用 fork()-exec() 执行此操作的一种方法,但我想我会先问 Linux 有经验的人,然后再走任何特定的路!另外,不是 100% 确定如何使用这些功能中的任何一个。

旁注:我知道计时器等在 Linux 中不是很准确,除非你正在实施抢占式内核或其他任何东西,这本身就是另一个问题,但时间限制这个问题在 10-50ms 附近,不是很紧。

谢谢

制作守护进程,仅供参考:

https://github.com/memcached/memcached/blob/master/daemon.c