systemctl
Controla y revisa los servicios del sistema con systemd.
Es la herramienta para manejar systemd, el programa que arranca y supervisa los servicios de tu sistema. Lo usas para ver si un servicio está corriendo, reiniciarlo después de un cambio de configuración o hacer que arranque solo al encender la computadora.
systemctl [comando] [servicio]Detener o reiniciar servicios importantes (como los de red o SSH) puede dejarte sin acceso o tumbar la máquina. Revisa qué servicio estás tocando antes de ejecutar.
Despiece
6 ejemplosVer el estado de un servicio
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | systemctl | Comando | El comando para controlar los servicios del sistema. |
| 2 | status | Opción | Muestra el estado actual del servicio. |
| 3 | nginx | Argumento | El servicio que quieres revisar. En general coincide con el nombre del paquete. |
Ves si está activo (active), detenido (inactive) o con error (failed), además del proceso y las últimas líneas de su log.
Reiniciar un servicio
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Cambiar el estado de un servicio requiere permisos de administrador. |
| 2 | systemctl | Comando | El comando para controlar los servicios del sistema. |
| 3 | restart | Opción | Detiene el servicio y lo vuelve a arrancar. |
| 4 | nginx | Argumento | El servicio que se reinicia. |
nginx se detiene y arranca de nuevo. Es el paso típico tras cambiar su configuración.
Detener un servicio
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Ejecuta la orden como administrador. |
| 2 | systemctl | Comando | El comando para controlar los servicios del sistema. |
| 3 | stop | Opción | Detiene el servicio de inmediato. |
| 4 | nginx | Argumento | El servicio que se detiene. |
El servicio queda detenido hasta que alguien lo arranque de nuevo con systemctl start.
Arrancar un servicio
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Ejecuta la orden como administrador. |
| 2 | systemctl | Comando | El comando para controlar los servicios del sistema. |
| 3 | start | Opción | Arranca el servicio en este momento. |
| 4 | nginx | Argumento | El servicio que se arranca. |
nginx empieza a correr. Esto no lo deja activo tras reiniciar la máquina; para eso usas enable.
Hacer que un servicio arranque al encender
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Ejecuta la orden como administrador. |
| 2 | systemctl | Comando | El comando para controlar los servicios del sistema. |
| 3 | enable | Opción | Marca el servicio para el arranque automático. |
| 4 | nginx | Argumento | El servicio que se marca al arranque. |
nginx ahora se levanta solo al encender la computadora. enable no lo arranca en este momento; para eso usa start, o las dos cosas a la vez con sudo systemctl enable --now nginx.
Quitar el arranque automático
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Ejecuta la orden como administrador. |
| 2 | systemctl | Comando | El comando para controlar los servicios del sistema. |
| 3 | disable | Opción | Quita el arranque automático al encender el equipo. |
| 4 | nginx | Argumento | El servicio al que le quitas el arranque automático. |
nginx deja de arrancar solo al encender. Si está corriendo ahora, sigue corriendo: disable no lo detiene.
Opciones
Las que sí vas a usar| Opción | Qué hace |
|---|---|
| status | Muestra si el servicio está activo, con su estado y las últimas líneas de su registro. |
| start | Arranca el servicio en este momento. |
| stop | Detiene el servicio. |
| restart | Detiene y vuelve a arrancar el servicio. Sirve para aplicar cambios de configuración. |
| enable | Marca el servicio para que arranque solo al encender el equipo. |
| disable | Quita el arranque automático al encender el equipo. |
| daemon-reload | Recarga la definición de servicios tras editar un archivo .service. |
| is-active | Responde active si el servicio está corriendo; si no, inactive, failed u otro estado. |
Fallas comunes
| Falla | Remedio |
|---|---|
| Editar un archivo .service, reiniciar y no ver el cambio. | Editaste la definición, no la configuración del proceso. Corre systemctl daemon-reload después de editar el archivo y luego reinicia el servicio. |
| Usar systemctl start y esperar que el servicio quede activo tras apagar la máquina. | start solo lo arranca ahora. Para que arranque solo al encender, también corre systemctl enable. |
| Olvidar sudo al detener, arrancar o reiniciar. | Cambiar el estado de servicios requiere permisos de administrador. Sin sudo verás algo como Failed to restart nginx.service: Access denied, o te pedirá la contraseña en una ventana. Usa sudo systemctl restart nginx. |
| Usar el nombre del servicio de otra distribución, como httpd en vez de apache2. | En Debian y Ubuntu el nombre suele coincidir con el del paquete: apache2, ssh, nginx. Si sale Unit httpd.service not found, busca el nombre real con systemctl list-units --type=service. |
Preguntas frecuentes
- ¿Cómo reinicio un servicio en Linux?
- Con sudo systemctl restart nombre-del-servicio. Ejemplo: sudo systemctl restart nginx. Es la forma estándar en Debian y Ubuntu, que usan systemd.
- ¿Qué significa systemctl?
- Es el comando para controlar systemd, el administrador de servicios del sistema. Con él revisas el estado, arrancas, detienes o reinicias servicios.
- ¿Cuál es la diferencia entre enable y start?
- start arranca el servicio en este momento; enable lo marca para que arranque automáticamente al encender el equipo. Son independientes: para hacer las dos cosas de una vez usa sudo systemctl enable --now servicio.
- ¿Cómo veo si un servicio está activo?
- Con systemctl status nginx ves todo el estado y las últimas líneas del log; sales con q. Si solo quieres un sí o no, systemctl is-active nginx responde active o inactive.
- ¿Por qué tengo que correr sudo con systemctl?
- Arrancar o detener servicios cambia el estado del sistema y está reservado al administrador (root). sudo te da ese permiso solo para ese comando. Para consultar, como systemctl status, no hace falta.