Administración de servicios en SystemV

Bajo el esquema conocido como SystemV y que presentamos en el post anterior, el proceso padre de todos los demás se denomina init y siempre recibe el PID 1. Es init el que se encarga de levantar los servicios indicados por los enlaces simbólicos presentes en /etc/rcN.d (donde recordemos que N es un número entero entre 1 y 5) al iniciar el sistema. Esto se hace en el orden determinado por el número presente en el nombre del enlace y es uno de los aspectos fundamentales de la administración de servicios en SystemV.

Servicios en SystemV

Veamos en la Fig. 1 el contenido de /etc/rc3.d y consideremos los números que forman parte del nombre de los enlaces simbólicos. En particular, prestemos atención a S10network, S55sshd, y S80postfix:

Orden de ejecución de los servicios en SystemV
Figura 1 – Orden de ejecución de los servicios en SystemV

En este caso, estos tres servicios serán iniciados en el siguiente orden:

  1. S10network (servicio de red)
  2. S55sshd (servidor SSH)
  3. S80postfix (servidor de correo)

Lo cual tiene sentido, porque no tendría sentido que el servidor de SSH o el de correo estuvieran disponibles ANTES de que el servicio de red haya inicializado las interfaces de conexión. En cada runlevel (sea en el ambiente de texto o gráfico) se aplica la misma lógica: primero se inician los servicios fundamentales y luego aquellos que dependen de los primeros para su correcto funcionamiento.

Ejecutar y detener servicios en SystemV manualmente

Como vimos en el post anterior, los enlaces simbólicos en /etc/rcN.d apuntan a scripts ubicados en /etc/init.d. La mayoría de dichos scripts aceptan los siguientes parámetros (uno a la vez) y algunos otros:

  • start para iniciar manualmente el servicio indicado
  • restart para reiniciarlo (generalmente luego de haber cambiado algún aspecto de la configuración)
  • stop para detenerlo

Dentro de estos scripts, las acciones mencionadas arriba son manejadas por una sentencia case que indica los pasos a seguir de acuerdo al parámetro. En la Fig. 2 podemos ver el caso de S80postfix como ejemplo:

Opciones disponibles para ejecutar los scripts correspondientes a servicios
Figura 2 – Opciones disponibles para ejecutar los scripts correspondientes a servicios

De esta forma, los siguientes comandos pueden utilizarse para detener manualmente o iniciar el servidor de correo, respectivamente:

[pastacode lang=»bash» manual=»%2Fetc%2Finit.d%2Fpostfix%20stop%0A%2Fetc%2Finit.d%2Fpostfix%20start» message=»» highlight=»» provider=»manual»/]

En el próximo post mostraremos cómo habilitar o deshabilitar servicios en un nivel de corrida dado. ¡Nos vemos ahí!

Deja una respuesta