Pregunta:
Quizás esta sea una pregunta trivial, pero no me queda del todo claro. En uno de nuestros servidores tenemos algunos procesos en segundo plano en ejecución que se iniciaron con service
y otros que se iniciaron con systemctl
, como este:
$ service nginx start
$ systemctl start gunicorn
¿Cuál es la diferencia entre los dos comandos? ¿Cuál es la forma preferida de tratar los servicios en segundo plano? ¿Cómo configurar el comando preferido?
Respuesta:
service
es un comando de "alto nivel" que se utiliza para iniciar y detener servicios en diferentes unixes y linuxes. Dependiendo del administrador de servicios de "nivel inferior", el service
redirige a diferentes binarios.
Por ejemplo, en CentOS 7 redirige a systemctl
, mientras que en CentOS 6 llama directamente al script relativo /etc/init.d
. Por otro lado, en versiones anteriores de Ubuntu, redirige a upstart
service
es adecuado para la gestión de servicios básicos, mientras que llamar directamente a systemctl
ofrece mayores opciones de control.