Unidade de serviço Systemd não inicia na inicialização, a menos que # [Unit] esteja comentado

0

Atualizando o Arch Linux ARMv7 (RaspPi 3). Eu tenho duas unidades de serviço systemd que eu criei. Eu quero que foo comece primeiro e depois bar . foo inicia na inicialização e bar não. No entanto, bar será iniciado manualmente a partir de um prompt do shell. Aqui está uma cópia do arquivo bar unit:

[Unit]
Requires=foo.service
After=foo.service

[Service]
Type=simple
ExecStart=/usr/bin/setsid /usr/bin/bar >/dev/null 2>&1 < /dev/null
TimeoutSec=0
RemainAfterExit=Yes

[Install]
WantedBy=getty.target

No entanto, se eu colocar um símbolo de libra na frente de [Unit] da seguinte forma:

#[Unit]

Em seguida, bar começa na inicialização na ordem correta (após foo ).

Esse comportamento e comentários da linha [Unit] não parecem fazer sentido ou se encaixam na documentação que posso encontrar. Então, estou apenas me perguntando por que isso faz com que a unidade inicie na inicialização?!

    
por bao7uo 14.12.2016 / 09:59

1 resposta

1

Comentar o [Unit] faz com que as diretivas Requires e After sejam ignoradas. Remover essas diretivas e remover o comentário # fornece um comportamento idêntico.

O motivo pelo qual ele não estava iniciando na inicialização sem o comentário # deve ser devido a um problema com o requisito para o outro serviço.

    
por 27.01.2017 / 16:47