Должен ли демон на встроенном устройстве с использованием Busybox записываться на C или в качестве сценария?Демон на встроенном Linux-устройстве с использованием Busybox должен быть написан на C или как сценарий
Все примеры, которые я видел, используют #! /bin/ash
в верхней части файла и что такое скрипты? Но в устройстве, которое я пишу, только выполнил файлы C (я думаю) и символические ссылки в /usr/bin
.
Каждый способ, которым я пытаюсь скомпилировать файл C с #include </bin/ash>
(например gcc -Wall -o daemon_busybox daemon_busybox.c
) Я получаю сообщение об ошибке после сообщения об ошибке в /bin/ash
:
/bin/ash:174:1: error: stray ‘\213’ in program
/bin/ash:174:1: error: stray ‘\10’ in program
/bin/ash:174:1: error: stray ‘\273’ in program
/bin/ash:174:1: error: stray ‘\204’ in program
/bin/ash:174:1: error: stray ‘\342’ in program
Примечание Я установил это: /bin/ash -> busybox
Любые идеи, способ Мне нужно идти?
Update:
Я получил задание, пытаясь увидеть, если демон может быть запущен на небольшом устройстве, которое работает Linux (2.6.35-на-альфа-4) и Java (SE Embedded Runtime Environment) с очень ограниченной памятью (т.е. 10 секунд ожидания, чтобы получить java -version
для отчета).
Две недели назад я мало знал о демонах - знал только слово. Итак, это все новое для меня.
На моей машине разработки я создал два разных файла-демона, один на C и один как скрипт. Оба работают очень хорошо на моей машине Linux.
Но из-за очень малого размера целевого устройства есть только busybox (нет /lib/lsb/init-functions
). Поэтому я пытаюсь создать третий файл-демон. Я считаю, что это должно быть написано на C для этого устройства, но все примеры для busybox указывают на сценарии.
Похоже, вы пытаетесь запустить скомпилированную программу, как если бы это был скрипт оболочки. – immibis
Вы понимаете, что C-программы скомпилированы, например. GCC первый, не так ли? Кроме того, что делает Java с этим? Я не уверен, кто больше запутался прямо сейчас; вы или я. –
Джонатан Рейнхарт - спасибо, что внимательно прочитал мой пост (^. ^) v – mycowan