У меня есть собственная встроенная система Linux на плате PocketBeagle. Я разработал простое приложение gpio на C, которое выдает команду включения/выключения на один из контактов разъемов платы. Приложение называется gpio_aa6 и находится в /root. Первой задачей было найти способ автоматического запуска моего приложения после загрузки платы. Я нашел два способа сделать это; первым было добавить запись в каталог etc/rcS. Эта запись представляет собой простой файл сценария, который запускает мое приложение. Второй способ заключался в редактировании файла /etc/inittab и добавлении записи в этот файл (::respawn:/root/gpio_aa6). В обоих случаях мое приложение было успешно запущено: но я все еще не уверен, что это правильный способ автоматического запуска моего приложения. Затем я пришел ко второй проблеме, как я могу остановить мое работающее приложение, так как респаун повторно запускает приложение, если оно завершено? Я общаюсь с правлением двумя способами; через последовательную связь (используя экранный терминал) и через веб-сервер ([email protected]). Я пытался использовать Ctrl+C, Ctrl+Z, Ctrl+\, но не смог остановить продолжение работы программы. Затем я использовал команду "killall" с killsignals -9 или -15, вроде бы программа прерывается, но сразу после этого снова запускается.
Мое приложение должно работать бесконечно, но мне нужно иногда останавливать его, чтобы обновить и снова запустить.
Есть ли какие-либо предложения, как преодолеть эту проблему? Спасибо.