Я использую Raspbian Jessie Lite на RPi3. Я создал файл в /etc/systemd/system/autostart.service
:
[Unit]
Description=Application
[Service]
User=root
ExecStart=/home/pi/autostart.sh
[Install]
WantedBy=multi-user.target
Служба правильно включена и фактически выполняется. Вот источник моего сценария запуска:
#!/bin/sh
aplay -c2 -r48000 -fS16_LE < /dev/zero &
chmod 1777 /tmp
hciconfig hci0 up
/home/pi/bin/./app
Мое приложение выполняется, но имеет странное поведение, хотя его запуск из корневой консоли, так как /home/pi/bin/./app
не вызывает проблем.
Кроме того, конечно, сценарий autostart.sh
остается в выполнении, пока мое приложение не завершится.
Чтобы исправить обе проблемы, я попытался запустить его в фоновом режиме, добавив &
в конце. Или просто попытался перенаправить вывод в файл, добавив &> /home/pi/log.txt
. В обоих случаях мое заявление больше не выполняется!
Что мне не хватает?