Comandos LinuxExplicados en español
/
Ficha90 / 104
Categoría
Sistema
Ejemplos
6
Ver también
sudo · apt · ps · kill

systemctl

system control (control del sistema)

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.

Sintaxissystemctl [comando] [servicio]
Precaución

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.

§ 1

Despiece

6 ejemplos
Ver el estado de un servicio

Ver el estado de un servicio

3 piezas
Lámina01 / 06
Comandosystemctl status nginx
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1systemctlComandoEl comando para controlar los servicios del sistema.
2statusOpciónMuestra el estado actual del servicio.
3nginxArgumentoEl servicio que quieres revisar. En general coincide con el nombre del paquete.
Resultado

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

4 piezas
Lámina02 / 06
Comandosudo systemctl restart nginx
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoCambiar el estado de un servicio requiere permisos de administrador.
2systemctlComandoEl comando para controlar los servicios del sistema.
3restartOpciónDetiene el servicio y lo vuelve a arrancar.
4nginxArgumentoEl servicio que se reinicia.
Resultado

nginx se detiene y arranca de nuevo. Es el paso típico tras cambiar su configuración.

Detener un servicio

4 piezas
Lámina03 / 06
Comandosudo systemctl stop nginx
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoEjecuta la orden como administrador.
2systemctlComandoEl comando para controlar los servicios del sistema.
3stopOpciónDetiene el servicio de inmediato.
4nginxArgumentoEl servicio que se detiene.
Resultado

El servicio queda detenido hasta que alguien lo arranque de nuevo con systemctl start.

Arrancar un servicio

4 piezas
Lámina04 / 06
Comandosudo systemctl start nginx
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoEjecuta la orden como administrador.
2systemctlComandoEl comando para controlar los servicios del sistema.
3startOpciónArranca el servicio en este momento.
4nginxArgumentoEl servicio que se arranca.
Resultado

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

4 piezas
Lámina05 / 06
Comandosudo systemctl enable nginx
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoEjecuta la orden como administrador.
2systemctlComandoEl comando para controlar los servicios del sistema.
3enableOpciónMarca el servicio para el arranque automático.
4nginxArgumentoEl servicio que se marca al arranque.
Resultado

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

4 piezas
Lámina06 / 06
Comandosudo systemctl disable nginx
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoEjecuta la orden como administrador.
2systemctlComandoEl comando para controlar los servicios del sistema.
3disableOpciónQuita el arranque automático al encender el equipo.
4nginxArgumentoEl servicio al que le quitas el arranque automático.
Resultado

nginx deja de arrancar solo al encender. Si está corriendo ahora, sigue corriendo: disable no lo detiene.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
statusMuestra si el servicio está activo, con su estado y las últimas líneas de su registro.
startArranca el servicio en este momento.
stopDetiene el servicio.
restartDetiene y vuelve a arrancar el servicio. Sirve para aplicar cambios de configuración.
enableMarca el servicio para que arranque solo al encender el equipo.
disableQuita el arranque automático al encender el equipo.
daemon-reloadRecarga la definición de servicios tras editar un archivo .service.
is-activeResponde active si el servicio está corriendo; si no, inactive, failed u otro estado.
§ 3

Fallas comunes

FallaRemedio
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.
§ 4

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.
§ 5

Ver también