De acordo com várias cláusulas dos documentos, o estado de "ativação" é a transição entre estados inativos e um estado ativo. Até agora tudo óbvio.
Mas como exatamente isso é definido?
O que determina se um serviço não está mais inativo, mas sim em ativação?
O que determina se um serviço não está mais ativado, mas sim ativo?
A única coisa que sei que atua no estado de "ativação" é o ExecStartPre
script; enquanto estiver em execução, o serviço permanece "ativando".
Existem outros meios para fazer com que um serviço permaneça em estado de ativação?
Você poderia fazer com que o serviço iniciasse o primário ExecStart
, mas apenas considerasse o serviço ativo quando o executável causar algum "Estou pronto!" evento, por exemplo?
Isso indicaria que você está usando o
Type=
arquivo de serviço errado. Vejaman systemd.unit
esystemd.service
para uma discussão bastante detalhada sobre quando o serviço chamado foi iniciado. O texto é muito longo para copiar e colar aqui, mas a partir daType=
descrição emman systemd.service
:Portanto, há diferentes momentos em que seu serviço passa de “ativado” para “ativo”, dependendo de como está configurado. A "ativação", entretanto, sempre começa no mesmo ponto: o momento em que o systemd começa a fazer tudo o que está especificado no arquivo de serviço.