Falha ao iniciar o serviço personalizado usando systemd

Falha ao iniciar o serviço personalizado usando systemd

Bom dia,

Estamos tentando iniciar um serviço personalizado em um Raspberry PIZero Wireless. O procedimento que estamos usando funciona em um PI3 no Ubuntu 14.04. O PiZero roda 2017-04-10-raspbian-jessie. Usarei o nome CUSTOM_SERVICE abaixo.

Tentei coisas diferentes sem sucesso. Consultando o status dos relatórios de serviço:

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.

Usando o comando:

sudo ls -l /etc/systemd/system/multi-user.target.wants/*.service

saída:

...
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
...

O arquivo da unidade de serviço é definido como:

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

onde/usr/local/etc/startCustomServiceé definido como

more /usr/local/etc/startCustomService
#!/bin/sh
/usr/local/sbin/customService

Como eu disse, o serviço está iniciado e funcionando corretamente no Ubuntu 14.04. Observe também que o arquivo/usr/local/etc/startCustomServicepode ser iniciado manualmente no PIZero.

Alguma sugestão?

Atenciosamente, Daniel

Responder1

Tente adicionar um diretório de trabalho.

WorkingDirectory=/usr/local/etc/

informação relacionada