Los sistemas operativos UNIX, como es el caso de Linux están integrados por numerosos servicios que tienen como finalidad permitir que cada rol, aplicación y proceso del sistema se cumpla en base a los criterios para los cuales fueron establecidos, de este modo, por ejemplo, el servicio httpd se encarga de administrar todo lo relacionado con Apache optimizando el acceso a los servicios web. Si un servicio llegase a fallar, simplemente el proceso asociado generaría errores.
Si tu rol es ser administrador o personal de soporte, es clave conocer en detalle que servicios están presentes en el servidor y por ende conocer en tiempo real el estado de los mismos. Para este caso aprenderemos a administrar los servicios en CentOS 8 y es importante aclarar que allí los servicios se gestionan a través del comando "systemctl", el cual nos permite iniciar, detener o reiniciar el servicio.
1. Cómo listar los servicios actuales en CentOS 8
Para CentOS 8 podemos echar mano del comando “systemctl” para listar y gestionar los servicios, de modo que para listar todos los servicios presentes en CentOS 8 ejecutaremos lo siguiente:
systemctl
Como resultado veremos los siguientes valores:
- UNIT (nombre del servicio)
- LOAD (Tiempo de actividad del servicio)
- ACTIVE SUB (Función de actividad)
- DESCRIPTOR (directorio donde está el servicio)
Podemos usar el parámetro -more para listar los servicios con más detalles:
systemctl | more
Para no perdernos en este mar de datos, podemos usar “grep” para filtrar por el servicio deseado, por ejemplo:
systemctl | grep httpd
Allí encontramos detalles como:
- Servicio asociado
- Estado actual
- Descripción
systemctl list-unit-files
Será posible visualizar los procesos asociados a un servicio en particular (cgroup), con el comando systemd-cgtop.
Este comando es similar al comando top ya que lista los procesos en ejecución en base a la función de su servicio, ejecutamos lo siguiente:
systemd-cgtopEsto listará lo siguiente:
- Grupo de control del servicio
- Tareas vinculadas al servicio
- Porcentaje de CPU, memoria y datos de entrada y salida usados
2. Cómo listar los servicios SysV en CentOS 8
SysV es un sistema de niveles de ejecución “SysV init” los cuales se encargan de gestionar cuáles programas init lanza o detiene justo cuando se lleva a cabo el nivel de ejecución.
Podemos listar estos servicios en CentOS 8 ejecutando:
chkconfig –list
3. Cómo ver el estado de un servicio en CentOS 8
Este es un punto clave para determinar si el servicio está trabajando de la forma esperada y con ello todos los procesos vinculados, para comprobar el estado de cualquier servicio en CentOS 8 usaremos systemd de la siguiente forma:
systemctl status httpd.service
Allí encontramos detalles específicos del servicio seleccionado como:
4. Cómo detener un servicio en CentOS 8
Si por alguna tarea de gestión debemos detener un servicio en CentOS 8, la sintaxis a usar será la siguiente:
systemctl stop “servicio”Esto requiere el ingreso de la contraseña de administrador:
Podemos comprobar que el servicio ha sido detenido ejecutando systemctl status:
Alternativamente será posible solo cargar la configuración del servicio sin interrumpir como tal su ejecución, para ello usaremos lo siguiente:
systemctl reload “Servicio”
Como punto final, puedes usar las siguientes líneas para verificar el estado de un servicio en CentOS 8:
systemctl is-active httpd systemctl is-enabled httpd
Así, gracias a Solvetic, has aprendido métodos simples para conocer el estado de los servicios en CentOS 8 y administrarlos de una forma mucho más global según sean las necesidades.