Existe uma maneira de fazer o serviço systemd desligar o sistema quando ele (o serviço) parar?

1

Eu tenho poucas caixas Linux, cada uma executando um serviço. Este é o único processo importante em execução nessas máquinas. No entanto, às vezes, devido a algumas mudanças internas de estado no serviço, ele irá parar de vez. O que estou procurando é uma maneira idiomática de desligar todo o sistema quando isso acontece. Basicamente eu quero que o systemd pare o sistema quando myservice service não estiver mais rodando.

Existe uma maneira fácil de fazer isso?

O que eu faço no momento é que eu desenvolvi outro serviço myservice-monitor que monitora o myservice e quando ele pára, então myservice-monitor encerra o sistema. Tudo funciona, mas eu pensei que deveria haver uma maneira de resolver isso em uma abordagem mais idiomática ...

    
por DejanLekic 19.01.2017 / 10:46

1 resposta

2

Você faz isso com systemd , embora eu não saiba o quanto é aconselhável. Se o serviço falhar ou precisar ser reiniciado durante uma atualização, a máquina também será desligada nesses casos!

Você pode adicionar isso ao seu arquivo de arquivo systemd unit para seu serviço:

 ExecStopPost=/sbin/halt

Veja man systemd.service para todos os documentos e isenções de responsabilidade sobre ExecStopPost .

    
por 19.01.2017 / 15:05

Tags