Debian y Ubuntu son sistemas operativos Linux que prácticamente funcionan igual, y tienen una particular forma de manejar los servicios, a pesar de que ahora usan Systemd siguen haciendo uso del comando service
. Aunque parezcan poca cosa, siempre es de ayuda contar con ciertos atajos para realizar ciertas tareas. Los servicios en Debian y Ubuntu, que básicamente se ejecutan en cada inicio del sistema, cuentan con opciones como lo son Start, Stop, Restart, Reload, etc.
El formato es el comando service
, seguido del nombre del servicio, y luego el argumento que gestiona el estado del servicio. Este formato aplica para todos los argumentos mencionados al principio. Si un servicio no existe el comando nos lo indicará con un error parecido a "Failed to start abc.service: Unit abc.service not found.". Si intentamos manejar un servicio que sí existe con un argumento que no existe, obtendremos una lista con todos los argumentos disponibles para ese servicio, ya que cada servicio maneja diferentes argumentos de estado.
Usage: nginx {start|stop|restart|reload|force-reload|status|configtest|rotate|upgrade}
Reiniciar servicios
sudo service nginx restart
En este caso reiniciamos el servicio Nginx.
Revisar estado actual
sudo service apache2 status
Con este comando podemos revisar si Apache2 se está ejecutando o si tiene algún problema.
Recargar configuración
sudo service postfix reload
La recarga de configuración puede ser útil cuando únicamente ha cambiado la configuración que maneja el servicio, siempre y cuando lo soporte, ya que en el caso de restart
, con reload
se evita detener completamente el servicio para luego iniciarlo.
Detener un servicio temporalmente
sudo service postfix stop
Los servicios normalmente se ejecutan automáticamente al inicio del sistema, por lo que si detenemos un servicio es solo temporal y volverá a iniciar en el siguiente inicio siempre y cuando no tenga ningún problema.
Lista de todos los servicios y su estado actual
sudo service --status-all
Este es sin duda uno de mis argumentos favoritos, ya que nos lista todos los servicios instalados en nuestra distribución, además de señalar si se encuentran ejecutándose o no. Un ejemplo de la salida es la siguiente:
root@server:~# sudo service --status-all [ - ] apparmor [ + ] cron [ + ] dbus [ + ] dnsmasq [ + ] fail2ban [ - ] fcgiwrap [ + ] haveged [ - ] hwclock.sh [ ? ] jailkit [ - ] nfs-common [ + ] nfs-kernel-server [ + ] nginx [ + ] postfix [ + ] pure-ftpd-mysql [ + ] quota [ + ] quotarpc [ + ] redis-server [ + ] ssh [ - ] sudo [ + ] ufw
Del lado izquierdo se indica entre corchetes, con un signo negativo [ - ]
se indican los servicios que están detenidos, con un signo positivo [ + ]
los servicios en ejecución, y con un signo de interrogación [ ? ]
no tengo del todo claro, pero pueden ser casos especiales en los que Systemd no pueda detectar correctamente su estado, pero a mi parecer estos pueden estar ejecutándose o detenidos.