systemd - orden - ver estado de servicios en linux
Servicio de inicio systemd después del servicio específico (2)
Pregunta general: ¿cómo se inicia un servicio. Systemd después de que un servicio particular se haya iniciado correctamente?
Pregunta específica: ¿cómo comienzo el sitio web.service solo después de que mongodb.service haya comenzado? En otras palabras, web.service debe depender de mongodb.service.
En el archivo .service bajo la sección [Unidad]:
[Unit]
Description=My Website
After=syslog.target network.target mongodb.service
La parte importante es el servicio mongodb.service
La página de manual lo describe, sin embargo, debido al formateo, no es tan claro a primera vista
After= dependencia solo es efectiva cuando el servicio que incluye After= y el servicio incluido por After= ambos están programados para comenzar como parte de su arranque.
Ex:
a.service
[Unit]
After=b.service
De esta forma, si ambos servicios, a.service y b.service están habilitados , systemd ordenará b.service después de a.service .
Si no estoy entendiendo mal, lo que está preguntando es cómo iniciar b.service cuando se inicia un servicio aunque b.service no esté habilitado.
La directiva para esto es Wants= o Requires= bajo [Unit] .
website.service
[Unit]
Wants=mongodb.service
After=mongodb.service
La diferencia entre Wants= y Requires= se explica en la página del .unit de .unit - http://www.freedesktop.org/software/systemd/man/systemd.unit.html