Use o systemd para o Custom Service

0

Eu tenho meu próprio aplicativo e quero que ele funcione como um serviço. Não requer permissões de root. Eu só quero ser capaz de iniciá-lo, para finalizar graciosamente (por exemplo, SIGINT - alguns segundos de espera - SIGKILL ), para reiniciar se falhar uma vez por hora, para obter status - tudo isso systemd faz com serviços. Não há necessidade de iniciá-lo quando o sistema operacional for iniciado, não é necessário incluí-lo em toda a lista de serviços.

A restrição é que ele não deve requerer privilégios de root, e não deve ser instalado no sistema de alguma forma (ou, pelo menos, ser muito não-invasivo no sistema).

Consegui fazer isso funcionar se fosse colocado em ~/.config/systemd/user/loved.service : systemctl --user link ~/loved.service . Mas é desejável executá-lo diretamente da pasta do aplicativo.

Acredito que systemctl poderia ser usado para casos como este:

systemctl --user start ~/loved.service

Quando eu corro isso, eu recebo:

Failed to start ....mount: Unit ....mount not found.

É claro que montar não é o que eu queria.

Como faço isso?

    
por George Sovetov 30.07.2018 / 16:06

1 resposta

2

A sintaxe para iniciar um serviço de usuário com o systemd é apenas:

systemctl --user start service-name

systemd procurará em ~/.config/systemd/user pelos arquivos correspondentes.

    
por 30.07.2018 / 16:26