He escrito alrededor de media docena de .service
archivos para las diferentes partes que componen el sistema en el que estoy trabajando. Es útil poder iniciar todo el sistema por etapas, pero también me gustaría tener una sola unidad que inicie todo el sistema en una sola llamada systemctl
.
¿Cuál es la mejor manera de hacer esto?
WantedBy
clave en la[Install]
sección y observar un objetivo ya existente. Por ejemplo, si desea que sus servicios siempre se inicien antes de que otros usuarios puedan iniciar sesión, usemulti-user.target
.Wants=
lista de todos los servicios parece suficiente para comenzar , sin embargo, parece que no puedo encontrar ninguna manera de detener y reiniciar el trabajo utilizando un tipo de destino. ¿Hay algún tipo que lo permita?.target
se puede hacer usandoStopWhenUnneeded=yes
en cada uno de los.service
archivos. superuser.com/questions/470153/....target
para detenerlosystemctl stop foo.\*
(ya que todos los servicios involucrados tienen archivos de servicio que comienzan con ingeniofoo.
).¿Has intentado usar
PartOf
en las subunidades del grupo objetivo además deWants
en el objetivo? Ej:PartOf=foo.target
adentrofoo-sub1.service
yWants=foo-sub1.service foo-sub2.service
adentrofoo.target
. Acabo de intentar esto y pude iniciar y detener todas mis subunidades simplemente iniciando y deteniendo el objetivo.fuente