Я написал этот простой сервис systemd для запуска моего приложения при загрузке:
[Unit]
Description=Autostart
After=multi-user.target
[Service]
Environment=LD_LIBRARY_PATH=/home/pi/bin
ExecStart=/home/pi/bin/Server
Restart=on-failure
RestartSec=3
User=root
Group=root
[Install]
WantedBy=multi-user.target
Я включил службу и перезагрузился. При запуске MyApp не работает и статус сервиса "мертв":
● autostart.service - Autostart
Loaded: loaded (/lib/systemd/system/autostart.service; enabled; vendor preset: enabled)
Active: inactive (dead)
без дальнейших указаний. Насколько я знаю, если мое приложение дает сбой, статус должен сообщать код ошибки выхода. Кроме того, он должен перезагрузиться через 3 секунды.
Вместо этого запуск службы вручную приводит к ожидаемому поведению:
● autostart.service - Autostart
Loaded: loaded (/lib/systemd/system/autostart.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2017-10-20 12:06:39 CEST; 2min 32s ago
Main PID: 1189 (Server)
CGroup: /system.slice/autostart.service
├─1189 /home/pi/bin/Server
└─1198 /home/pi/bin/Client
Oct 20 12:06:40 localhost Server[1189]: some output from my application
Как бы вы отладили такое поведение?