¿Los archivos de la unidad systemd deben recargarse cuando se modifican?


138

Digamos que escribo un mine.servicearchivo. Entonces lo uso systemctl enable mine.service.

Si luego decido editar mine.service, ¿debo decir systemdque mine.servicese modificó? Si es así, ¿cómo hago eso?

Respuestas:


169

Después de realizar cambios en el archivo de la unidad, debe ejecutar systemctl daemon-reload, como se describe aquí .

daemon-reload
Recarga la configuración del administrador de systemd. Esto volverá a ejecutar todos los generadores (consulte systemd.generator (7) ), volverá a cargar todos los archivos de la unidad y recreará todo el árbol de dependencias. Mientras se recarga el demonio, todos los sockets que escucha systemd en nombre de la configuración del usuario permanecerán accesibles.

Luego puede reiniciar (o recargar) su servicio como lo desee con

systemctl restart your-service-name

(daemon-reload no volverá a cargar / reiniciar los servicios por sí mismos, solo informa al sistema de la nueva configuración)


2
Descubrí que también necesitaba ejecutar un systemctl restartpara reiniciar el servicio en sí ...
hwjp

3
Por si acaso, daemon-reloadno es universal, tengo que correr systemctl --user daemon-reloadpara servicios de usuario.
Olegs Jeremejevs

Como nota, también "elimina la configuración anterior creada por los generadores" antes de volver a ejecutarlos: freedesktop.org/software/systemd/man/systemd.generator.html
rogerdpack

8

Como una adición a la respuesta anterior: en caso de que haya cambiado algo en la [Install]directiva, es posible que deba ejecutarla sudo systemctl reenable YOURUNITFILEpara recrear los enlaces simbólicos en los directorios .target.


¡Esto me sirvió! No entendí por qué systemctl no estaba recargando el archivo de servicio.
antonagestam
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.