
Cómo iniciar y detener servicios con systemctl en Linux
En los sistemas Linux modernos, muchos programas funcionan como servicios que se ejecutan en segundo plano. Por ejemplo, servidores web, bases de datos o servicios de red.
Para administrar estos servicios se utiliza el comando systemctl, que permite iniciarlos, detenerlos y revisar su estado fácilmente.
En esta guía vas a aprender cómo iniciar y detener servicios con systemctl en Linux, usando comandos simples y ejemplos claros.
Qué es systemctl
systemctl es una herramienta que forma parte de systemd, el sistema que administra servicios y procesos en muchas distribuciones Linux.
Con systemctl podés:
- iniciar servicios
- detener servicios
- reiniciar servicios
- ver el estado de un servicio
- habilitar servicios para que se inicien al arrancar el sistema
Se usa en distribuciones como:
- Ubuntu
- Debian
- Fedora
- CentOS
- Rocky Linux
- AlmaLinux
Cómo ver el estado de un servicio
Antes de iniciar o detener un servicio, muchas veces es útil ver si está funcionando.
Para hacerlo usá:
systemctl status nombre-del-servicio
Ejemplo con un servidor web:
systemctl status nginx
Ejemplo de salida:
nginx.service - A high performance web server
Active: active (running)
Esto indica que el servicio está activo y funcionando.
Cómo iniciar un servicio
Para iniciar un servicio utilizá el comando start.
sudo systemctl start nombre-del-servicio
Ejemplo:
sudo systemctl start nginx
Esto iniciará el servidor web nginx en el sistema.
Si el servicio estaba detenido, comenzará a ejecutarse inmediatamente.
Cómo detener un servicio
Si necesitás detener un servicio, usá el comando stop.
sudo systemctl stop nombre-del-servicio
Ejemplo:
sudo systemctl stop nginx
Esto detendrá el servicio en ejecución.
Cómo reiniciar un servicio
A veces es necesario reiniciar un servicio para aplicar cambios en la configuración.
Para hacerlo usá:
sudo systemctl restart nombre-del-servicio
Ejemplo:
sudo systemctl restart nginx
Este comando detiene el servicio y lo vuelve a iniciar automáticamente.
Cómo recargar un servicio sin detenerlo
Algunos servicios permiten recargar su configuración sin detenerse.
Para eso se utiliza:
sudo systemctl reload nombre-del-servicio
Ejemplo:
sudo systemctl reload nginx
Esto aplica los cambios de configuración sin interrumpir el servicio.
Cómo ver todos los servicios activos
Si querés ver qué servicios están corriendo en el sistema ejecutá:
systemctl list-units --type=service
Esto mostrará una lista de servicios activos.
Cómo habilitar un servicio al iniciar el sistema
Algunos servicios deben iniciarse automáticamente cuando arranca el servidor.
Para habilitar un servicio utilizá:
sudo systemctl enable nombre-del-servicio
Ejemplo:
sudo systemctl enable nginx
Esto hace que el servicio se inicie automáticamente en cada arranque del sistema.
Cómo deshabilitar un servicio al iniciar
Si no querés que un servicio se ejecute al iniciar el sistema, podés deshabilitarlo.
sudo systemctl disable nombre-del-servicio
Ejemplo:
sudo systemctl disable nginx
Servicios comunes que se administran con systemctl
Algunos de los servicios más comunes en servidores Linux son:
| Servicio | Función |
|---|---|
| nginx | servidor web |
| apache2 | servidor web |
| mysql | base de datos |
| postgresql | base de datos |
| ssh | acceso remoto |
| docker | contenedores |
Todos estos servicios se administran usando systemctl.
Comandos más usados de systemctl
Estos son los comandos más importantes para administrar servicios:
| Comando | Función |
|---|---|
systemctl start servicio |
iniciar servicio |
systemctl stop servicio |
detener servicio |
systemctl restart servicio |
reiniciar servicio |
systemctl reload servicio |
recargar configuración |
systemctl status servicio |
ver estado |
systemctl enable servicio |
iniciar al arrancar |
systemctl disable servicio |
desactivar inicio automático |
Estos comandos forman parte de las tareas básicas de administración de servidores Linux y se utilizan todos los días en entornos de producción.