detener iniciar y reiniciar servicios linux debian

Detener, iniciar y reiniciar servicios en Linux.

Parar, iniciar y reiniciar servicios en Linux es posible mediante diferentes comandos explicados en este tutorial: service, systemctl y /etc/init.d.
Un servicio es un programa ejecutándose en background para ser usado cuando sea necesario. Apache, Ftp, SSH, Telnet, Mysql o Nginx son algunos de los servicios más conocidos.
En algunos sistemas Linux los servicios se encuentran en el directorio /etc/init.d y pueden ser manejados con los comandos service, systemctl y /etc/init.d , los 3 serán explicados con ejemplos para detener, iniciar y reiniciar servicios, o chequear su status.
Los 3 comandos disponen de las mismas 4 ordenes:

Status: este parámetro nos dice el estado del servicio, si esta detenido o activo.
Stop: es la orden para detener servicios.
Start: es la orden para iniciar servicios.
Restart: es la orden para reiniciar servicios, la diferencia con stop/start es explicada más adelante en este tutorial.

El comando service:

El comando service en Linux permite chequear el status de un servicio, así como parar, iniciar o reiniciar servicios y demonios localizados en el directorio /etc/init.d.
La sintaxis para parar, ejecutar o reiniciar servicios así como para imprimir su status es:

service <Service-Name> <Order>

Por ejemplo, para parar o detener el servicio de ssh ejecutaremos:

service ssh stop
detener, iniciar y reiniciar serviciox linux

Si quisiéramos ver el status del servicio, saber si está detenido o activo podemos ejecutar:

service ssh status
parar, iniciar y reiniciar servicios linux

En la captura se puede ver que el status es inactivo, el servicio está presente en el sistema pero no está ejecutándose porque previamente lo paramos con el comando sudo service ssh stop.

Si queremos iniciar el servicio podemos ejecutar:

sudo service ssh start
iniciar servicio en linux debian

Una vez iniciado si ejecutamos nuevamente sudo service ssh status verán que esta vez el servicio está activo:

También podemos usar la opción –status-all que nos permitirá ver todos los servicios del sistema y su estado como en el siguiente ejemplo:

sudo service --status-all
sudo service --status-all
El simbolo + significa que el servicio está activo, el simbolo significa que esta inactivo.


Diferencia entre iniciar y reiniciar un servicio en Linux:

Otra opción para activar un servicio es reiniciarlo con el comando sudo service <servicio> restart.
La diferencia entre iniciar y reiniciar un servicio, en algunos casos, es que las ordenes stop y start frenan completamente el servicio para iniciarlo de nuevo, mientras que el comando restart mantiene algunos servicios en funcionamiento mientras resetea la configuración sin generar pérdida del servicio.

En el siguiente ejemplo se reinicia el servicio ssh, para eso hay que ejecutar:

sudo service ssh restart
diferencia iniciar y reiniciar servicio linux

El resultado deberá ser el servicio ssh activo, lo que podemos confirmar ejecutando sudo service ssh status.

sudo service ssh status

Detener, iniciar y reiniciar servicios en Linux con Systemd:

Systemd es una herramienta de manejo de servicios y demonios (por eso la D final). El comando systemctl permite detener, iniciar y reiniciar servicios así como chequear su status.

El objetivo de systemd es unificar el comportamiento de todas las distribuciones de Linux reemplazando a SystemV y  el init system de los sistemas BSD descrito más abajo.

Para empezar, la sintaxis para ver el status de un servicio usando el comando systemctl es:

systemctl status ssh
parar iniciar y reiniciar servicios con systemd

Y si quisieramos detener el servicio usando systemctl se ejecuta:

systemctl stop ssh

Podemos confirmar el resultado ejecutando systemctl status ssh nuevamente:

Podemos reiniciarlo nuevamente con los comandos systemctl start ssh o systemctl restart ssh, en el siguiente uso la orden restart:

systemctl restart ssh

Si vemos el status del servicio de nuevo, está vez estará activo:

El directorio /etc/init.d:

Cuando encendemos el sistema, init es el primer programa en ejecutarse y permanece corriendo como el proceso de PID 1 hasta que el sistema es apagado.
Init es el ancestro de todos los procesos y automáticamente adopta todos los procesos huérfanos. Init es iniciado por el kernel durante el proceso de arranque, si el kernel no pudiera iniciarlo veríamos un error de Kernel Panic.
Todos los servicios y demonios que se inician durante el arranque del sistema se encuentran en el directorio /etc/init.d y soportan las órdenes: stop, start, restart y status.

Para detener un servicio desde el directorio /etc/init.d la sintaxis es /etc/init.d/ssh stop, en el siguiente ejemplo se detiene el servicio ssh:

/etc/init.d/ssh stop
detener servicio desde /etc/init.d

Ejecutando /etc/init.d/ssh status  podemos ver que el servicio está inactivo porque lo paramos:

Si queremos iniciar un servicio desde el directorio /etc/init.d, en este caso el servicio ssh, hay que ejecutar:

/etc/init.d/ssh start
iniciar servicio con init.d

Nuevamente podemos revisar el status del servicio ejecutando:

/etc/init.d/ssh status  

El servicio ssh está nuevamente activo.
Por ultimo, si queremos reiniciar un servicio en Linux usando /etc/init.d ejecutamos el comando:

/etc/init.d/restart

Como ven init.d soporta las 4 ordenes que sus reemplazos service y systemctl, las ordenes status, start, stop y restart.

Conclusión:

Los 3 métodos explicados en este tutorial son válidos y dan el mismo resultado, sin embargo no todas las distribuciones Linux soportan las 3 opciones, por ejemplo las distribuciones Devuan o Slackware no tienen systemd.
La sintaxis de los 3 comandos es muy similar variando solamente el orden de los valores por lo que solamente hay que memorizar los comandos service, systemctl y /etc/init.d con sus 4 posibles valores: status, stop, start y restart.
Por supuesto tanto los comandos service y systemctl tienen sus páginas man con todas las indicaciones, pero no es el caso de /etc/init.d por ser un directorio donde se alojan los servicios.

Espero que este tutorial sobre Detener, iniciar y reiniciar servicios en Linux haya sido útil, los invito a seguir Linux Latinoamérica para más tips y actualizaciones sobre Linux, redes y seguridad bajo Linux.