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

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

本文关键字:Debian Beaglebone Black 数据 记录 有效地 运行 后台 处理      更新时间:2023-10-16

我正在寻求一些帮助来解决我面临的实现问题。我是一位经验丰富的嵌入式环境和RTOS的C/C++程序员,但是当涉及到linux时,我是一个新手。

我有一个运行 Debian 的黑色小猎犬骨。我需要记录和处理来自连接到I2C总线和ADC的传感器的数据。我已经编写了用于从连接的传感器收集数据的处理程序函数,没问题,它们工作正常。我想实现(类似于 RTOS)一个计时器中断,可以将进程抛给我的处理程序函数,以便它们可以做自己的事情,我希望它在后台运行。即我不想捆绑外壳或其他任何东西,以便用户可以做其他事情。我读到timer_create 是一种在 Debian 中执行此操作的方法,或者使用 fork()-exec(),但我想在走任何特定道路之前,我会先问一下有 Linux 经验的人!此外,并非 100% 确定如何使用这两个函数中的任何一个。

旁注:我知道计时器等在 Linux 中不是很准确,除非您正在实现抢占式内核或其他什么,这本身就是一个完全不同的问题,但这个问题的时间限制接近 10-50ms,这不是非常严格。

谢谢

要制作一个守护进程,只需将此作为参考:

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