
Доброе утро,
Мы пытаемся запустить пользовательский сервис на Raspberry PIZero Wireless. Процедура, которую мы используем, работает на PI3 под Ubuntu 14.04. PiZero работает под 2017-04-10-raspbian-jessie. Ниже я буду использовать имя CUSTOM_SERVICE.
Я пробовал разные вещи, но безуспешно. Запрос статуса сервисных отчетов:
sudo systemctl status CUSTOM_SERVICE.service
● CUSTOM_SERVICE.service - Custom service
Loaded: loaded (/etc/systemd/system/CUSTOM_SERVICE.service; enabled)
Active: activating (auto-restart) (Result: exit-code) since Wed 2017-04-26 14:44:40 UTC; 32s ago
Process: 1516 ExecStart=/usr/local/etc/startCustomService (code=exited, status=203/EXEC)
Main PID: 1516 (code=exited, status=203/EXEC)
Apr 26 14:44:40 raspberrypi systemd[1]: CUSTOM_SERVICE.service: main process exited, code=exited, status=203/EXEC
Apr 26 14:44:40 raspberrypi systemd[1]: Unit CUSTOM_SERVICE.service entered failed state.
Используя команду:
sudo ls -l /etc/systemd/system/multi-user.target.wants/*.service
выход:
...
lrwxrwxrwx 1 root root 40 Apr 10 09:24 /etc/systemd/system/multi-user.target.wants/avahi-daemon.service -> /lib/systemd/system/avahi-daemon.service
lrwxrwxrwx 1 root root 38 Apr 26 13:53 /etc/systemd/system/multi-user.target.wants/CUSTOM_SERVICE.service -> /etc/systemd/system/CUSTOM_SERVICE.service
...
Файл единицы обслуживания определяется как:
more /etc/systemd/system/multi-user.target.wants/CUSTOM_SERVICE.service
[Unit]
Description=Custom service
After=network-online.target
[Service]
Type=simple
RestartSec=60
Restart=always
ExecStart=/usr/local/etc/startCustomService
[Install]
WantedBy=multi-user.target
где/usr/local/etc/startCustomServiceопределяется как
more /usr/local/etc/startCustomService
#!/bin/sh
/usr/local/sbin/customService
Как я уже сказал, сервис запущен и работает корректно под Ubuntu 14.04. Также обратите внимание, что файл/usr/local/etc/startCustomServiceможно запустить вручную на PIZero.
Какие-либо предложения?
С уважением, Дэниел.
решение1
Попробуйте добавить рабочий каталог.
WorkingDirectory=/usr/local/etc/