У меня есть приложение, которое последовательно выполняет следующие команды, используя функцию popen
1. Hciattach <command components >
2. btmgmnt - i hci0 power off
3. btmngmt - i hci0 sc on
4.......................................
5..btmgmnt - i hci0 power on
Приложение выполняется как
#. /app_name &
Приложение запущено, и команды bluetooth выполняются должным образом. Вывод всех команд проверяется с помощью функции fread с файловым дескриптором popen
.Далее я пытаюсь инициировать то же приложение в качестве службы. Файл модуля выглядит следующим образом:
.Type=forking
Restart=on-failure
ExecStart=/usr/bin/app_name
Служба инициируется, но команда отключения питания btmgmnt - i hci0 завершается ошибкой. Вывод команды fread равен 0, но hciattach инициируется. Проверено с помощью команды ps.
Почему приложение работает по-разному в обоих экземплярах. Кто-нибудь может помочь мне в этом?