services – Escribir archivos de servicio básicos de systemd

Pregunta:

Estoy desarrollando una aplicación Nodejs con la que el usuario interactúa a través de HTTP en localhost. Prácticamente no hay parámetros y el demonio prácticamente no tiene dependencias y solo necesita estar activo antes de iniciar sesión.

Me gustaría seguir los modismos en cada plataforma para los scripts de inicio, y eso significa Upstart en Ubuntu y systemd en Fedora.

  • ¿Hay buenos tutoriales para escribir archivos de sistema systemd?
  • ¿Existen 'mejores prácticas' que conviene tener en cuenta?

He encontrado estos recursos:

Principalmente busco una especie de API como referencia, así como un formato básico a seguir.

Respuesta:

El siguiente ejemplo está inspirado en este enlace, que en realidad no menciona todos los pasos y se enumera solo para acreditar la fuente: http://patrakov.blogspot.com/2011/01/writing-systemd-service-files.html

Paso 1 : Creé este archivo (tenga en cuenta la ubicación) que esencialmente activa un proceso bash con un argumento extendido. Puede disparar su propio comando, que podría ser diferente de bash.

[root@y500-fedora ~]# cat /etc/systemd/system/foo.service 
[Unit]
Description=foo

[Service]
ExecStart=/bin/bash -c "while true; do /bin/inotifywait -qq --event close_write /sys/class/backlight/acpi_video0/brightness; su myusername -c '/bin/xbacklight -display :0 -set $(cat /sys/class/backlight/acpi_video0/brightness)'; done"

[Install]
WantedBy=multi-user.target

Paso 2 :

Recargar systemd :

systemctl daemon-reload

Inicie el nuevo servicio:

systemctl enable foo

(de manera similar, puede disable )

(opcional) Paso 3 : Debería iniciarse automáticamente en el próximo reinicio en modo multiusuario (nivel de ejecución 3), pero si desea iniciarlo de inmediato:

systemctl start foo
systemctl status foo # optional, just to verify

Actualización: para completar, debo agregar que ubuntu bionic parece tener una página de manual muy completa. RTFM aquí

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım