如何有效地运行后台处理和记录数据(Debian,Beaglebone Black)
How to effectively run a background Processing and Logging of Data (Debian, Beaglebone Black)
我正在寻求一些帮助来解决我面临的实现问题。我是一位经验丰富的嵌入式环境和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
相关文章:
- 将项目从 Debian 8 Xenomai 2.x 迁移到 Debain 9 Xenomai 3.x
- 如何在 Debian 10 上安装 CPP 手册页?
- Debian Buster 中的库不匹配?
- 如何在 debian 下正确链接一个 opengl 程序?
- Boost::log只在debian中崩溃
- 如何在Beaglebone Black上使用RS485
- 无法在 64 位 Debian 上运行 32 位二进制文件
- curl_slist_free_all() 导致 GKE 与 Debian 8.7 上的段错误
- 如何在 debian 8 上编译旧的 32 位 c++ g++ 3.3.2 源代码
- beaglebone上的GTK 绑定(ARM Linux)
- 我如何在 beaglebone black 上用 c++ 创建这么多线程
- 是否可以仅通过编写 debian/rules 来编译两次并构建单独的软件包?
- 在64位Debian上交叉编译32位时找不到Libpcap
- 尝试在Qt中升级Debian后构建项目
- 在Debian上编译OpenCV(C++)时出错
- 如何在 Debian 7 上安装 FFmpeg 开发者库
- 在beaglebone black上使用arm-linux-gnueabihf时跳过不兼容错误
- Debian 8 Mlt 0.9.2-2 & Qt Creator 5
- Arduino Uno代码可以使用交叉编译器在BeagleBone Black上运行吗
- 如何有效地运行后台处理和记录数据(Debian,Beaglebone Black)