Un servicio es un proceso en segundo plano que se ejecuta automáticamente cuando inicia su sistema. Para los usuarios habituales y, en especial, los administradores del sistema, reiniciar un servicio es una tarea común de administración del sistema que a menudo debe realizar al configurar los ajustes del sistema o instalar una nueva aplicación.
En este artículo, aprenderemos cómo reiniciar un servicio a través de systemctl en Linux. Systemctl es básicamente una aplicación de sistema de línea de comandos que se usa para administrar los servicios del sistema y permite iniciar, detener, reiniciar, habilitar, deshabilitar y ver el estado de los servicios.
Hemos utilizado Debian 10 para ejecutar los comandos y procedimientos mencionados en este artículo, pero los mismos comandos también funcionarán en otras distribuciones como Ubuntu, CentOS o Fedora.
Reinicio de un servicio con Systemctl
Para reiniciar un servicio, se utiliza la Terminal de línea de comandos. Para abrir la Terminal, vaya a la pestaña Actividades en la esquina superior izquierda de su escritorio. Luego, desde el menú de búsqueda que aparece, busque la aplicación Terminal y ejecútela.
Para enumerar todos los servicios habilitados en su sistema, ejecute el siguiente comando en la Terminal:
$ systemctl list-unit-files | grep enabled
En la lista anterior, puede encontrar el nombre exacto del servicio que desea reiniciar utilizando el comando systemctl.
Para reiniciar un servicio en ejecución (detener y luego iniciar), use la siguiente sintaxis de comando en la Terminal:
$ sudo systemctl restart [service-name]
Por ejemplo, para reiniciar el servicio xrdp, reemplace el parámetro "nombre del servicio" con el nombre exacto del servicio.
Administrar servicios con Systemd
Junto con el reinicio del servicio, también puede administrar el servicio mediante el comando systemctl, como iniciar, detener, habilitar, deshabilitar y ver el estado del servicio.
Para ver el estado actual del servicio, ya sea que se esté ejecutando o no, use la siguiente sintaxis de comando en la Terminal:
$ systemctl status [service-name]
Para iniciar un servicio, utilice la siguiente sintaxis:
$ systemctl start [service-name]
Para detener un servicio en ejecución, utilice la siguiente sintaxis:
$ systemctl stop [service-name]
Para permitir que un servicio se inicie automáticamente al arrancar, use la siguiente sintaxis:
$ systemctl enable [service-name]
Para deshabilitar el servicio para que no se inicie automáticamente al arrancar, use la siguiente sintaxis:
$ systemctl disable [service-name]
Para recargar un servicio, utilice la siguiente sintaxis:
$ systemctl reload [service-name]
Para recargar o reiniciar un servicio (recarga un servicio y, en caso de que la recarga no esté disponible, reinicia el servicio).
$ sudo systemctl reload-or-restart [service-name]
Para comprobar si el servicio está activo:
$ sudo systemctl is-active [service-name]
Para verificar si el servicio está habilitado para iniciarse automáticamente en un arranque del sistema:
$ sudo systemctl is-enabled [service-name]
En este artículo, hemos aprendido cómo reiniciar un servicio a través del comando systemctl. También aprendimos otros usos comunes del comando systemctl para administrar los servicios.