O que está iniciando um serviço específico

O que está iniciando um serviço específico

Estou executando o AlmaLinux 9 e tenho um serviço (chamado de "X"). Quero descobrir o que está iniciando o serviço X (já que está desabilitado).

Existe um comando que mostrará qual outro serviço iniciará o X (como uma dependência ou outro)?

Responder1

systemd-analyzeparece ser o que você está procurando. Você precisará instalar graphvizpara obter o renderizador de gráfico dot, cujo formato de entrada systemd-analyze dotgera. (isso não precisa acontecer na mesma máquina. Para simplificar, vamos fazer isso na mesma máquina.)

systemd-analyze dot --require > graph.dot
grep -v 'color="red"' | dot -Tsvg Gsplines=line > graph_embedding.svg
firefox graph_embedding.svg # or some other SVG viewer

(aqui, suprimimos os "conflitos com" bordas vermelhas e usamos dotlinhas retas ao conectar nós; os splines que ele usa por padrão tornam quase todos os gráficos maiores incorporados ambíguos para leitura; não está claro para mim o que os autores estavam pensando ali. )

Isso pode ser um pouco de informação em uma imagem. Eu recomendo que você crie um script rápido para extrair a subárvore de dependências reversas começando no nó de seu interesse, mas, infelizmente, esse é um problema único (espero), então abra graph.dotem seu editor de texto favorito. procure ocorrências de ->"X.service", observe o que resta de ->, então você entende o que já requer X ou descobre o que começaqueserviço procurando por isso no lado direito de ->.

informação relacionada