Как эффективно запустить фоновую обработку и регистрацию данных (Debian, Beaglebone Black)

0

Я ищу некоторую помощь с проблемой реализации, с которой сталкиваюсь. Я опытный программист C/C++ во встроенных средах и RTOS, но когда дело доходит до linux, я новичок.

У меня есть beaglebone black, работающий с Debian. Мне нужно регистрировать и обрабатывать данные от датчиков, подключенных к шине I2C и АЦП. Я написал функции обработчика для сбора данных от подключенных датчиков, без проблем, они работают нормально. Я хочу реализовать (подобно RTOS) прерывание таймера, которое может передать процесс моим функциям обработчика, чтобы они могли делать свои вещи, и я хочу, чтобы это выполнялось в фоновом режиме. т.е. я не хочу связывать оболочку или что-то еще, чтобы пользователь мог делать другие вещи. Я читал, что timer_create - это способ сделать это в Debian или использовать fork() -exec(), но я подумал, что сначала попрошу людей, знакомых с Linux, прежде чем идти по любому пути! Кроме того, не на 100% уверен, как использовать любую из этих функций.

Замечание: я знаю, что таймеры и т.д. не очень точны в Linux, если вы не используете упреждающие ядра или что-то еще, что является целой другой проблемой само по себе, но временные ограничения этой проблемы находятся где-то около 10-50 мс, что не очень плотно.

благодаря

Теги:
debian
beagleboneblack

1 ответ

0
Лучший ответ

чтобы сделать процесс демона, просто возьмите это как ссылку:

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

  • 0
    Но является ли создание демона правильным способом для этого конкретного приложения? Используется ли демон в пространстве пользователя или в ядре? Извините, я довольно новичок в программировании Linux
  • 0
    в Linux демон - это обычный процесс, не подключенный к терминалу и выполняющийся в пользовательском пространстве.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню