Administrar servicios en Ubuntu 14.04 LTS con Upstart
Desde la versión 9.10 de Ubuntu, comenzó a implantarse Upstart como sustituto del servicio init (en particular, SysVinit), que es quien se encargaba hasta ese momento de iniciar los servicios durante el arranque del sistema, detenerlos cuando apagamos y controlar su funcionamiento mientras están activos.
La ventaja de Upstart es que controla los servicios atendiendo a sus eventos, lo que le permite, entre otras cosas, aumentar su rendimiento. Además, es compatible con el método anterior.
Si quieres revisar cómo funcionaban las cosas con SysVinit puedes echarle un vistazo a nuestro artículo Administrar servicios en Ubuntu 14.04 LTS mediante scripts de inicio.
El inconveniente de todo esto es que, dentro de /etc/init.d, además de los scripts tradicionales podemos encontrar los Upstart jobs (o tareas Upstart, en español). Así, si intentamos aplicar usar directamente los scripts de inicio/parada con algunos servicios, podemos encontrarnos con un error como el de la imagen siguiente:
El único inconveniente es que, para ver ahora el estado de este tipo de servicios, debemos utilizar el comando initctl list.
Y para obtener información referente a un servicio concreto, podemos canalizar la salida a través del comando grep:
sudo initctl list | grep cron
Además, realizaremos la gestión de servicios Upstart con los siguientes comandos:
start
Permite iniciar la ejecución de un servicio. Por ejemplo, para iniciar el servicio cron, ejecutaremos lo siguiente:
sudo start cron
stop
Permite detener la ejecución de un servicio. Por ejemplo, para detener el servicio anterior escribimos esto:
sudo stop cron
restart
Equivale a realizar las dos operaciones anteriores. Primero detiene el servicio y después lo inicia. Para reiniciar el servicio anterior, escribimos esto:
sudo restart cron
El comando service
Este comando permite gestionar de forma indistinta tanto scripts tradicionales como Upstart jobs. Además, cuando usamos scripts, evitamos la necesidad de escribir la ruta completa.
La forma de realizar las acciones anteriores utilizando el comando service sería la siguiente:
-
service … start: Permite iniciar la ejecución de un servicio. Por ejemplo, para iniciar el servicio cron, ejecutaremos lo siguiente:
sudo service cron start
-
service … stop: Detiene un servicio que se está ejecutando. Por ejemplo, para detener el servicio anterior, escribiríamos esto:
sudo service cron stop
-
service … restart: Equivale a realizar las dos operaciones anteriores. Primero detiene el servicio y después lo inicia. Para reiniciar el servicio anterior, escribimos esto:
sudo service cron restart
-
service … status: Nos permite consultar el estado en el que se encuentra un servicio. Para comprobarlo, sólo tenemos que escribir lo siguiente:
sudo service cron status
En este caso también podemos comprobar el estado de todos los servicios utilizando el siguiente comando:
sudo service --status-all
Y esto es todo por el momento. Espero que te haya resultado interesante.