After=
La dependencia solo es efectiva cuando el servicio incluido After=
y el servicio incluido por After=
están programados para iniciarse como parte de su arranque.
Ex:
a.service
[Unit]
After=b.service
De esta manera, si ambos a.service
y b.service
están habilitados , systemd ordenará b.service
después a.service
.
Si no lo entiendo mal, lo que está preguntando es cómo comenzar b.service
cuando a.service
comienza aunque b.service
no esté habilitado.
La directiva para esto es Wants=
o Requires=
menos [Unit]
.
website.service
[Unit]
Wants=mongodb.service
After=mongodb.service
La diferencia entre Wants=
y Requires=
es que con Requires=
, si no se inicia b.service
, el inicio de a.service
de fallará, mientras que con Wants=
, a.service
se iniciará incluso si b.service
falla. Esto se explica en detalle en la página de manual de.unit
.