Supervisor, control de procesos en sistemas operativos UNIX

Supervisor es un sistema cliente / servidor que permite a sus usuarios monitorear y controlar una serie de procesos en los sistemas operativos UNIX.

En ocasiones para ejecutar ciertas librerias/frameworks backend tenemos que abrir una terminal e iniciarlas, lo que nos hace dependientes de que si la terminal se cierra, nuestra aplicación no funcionará.

Supervisor es compatible con casi todos los sistemas operativos, excepto Windows. Está probado y soportada en Linux, Mac OS X, Solaris y FreeBSD. Está escrito completamente en Python, por lo que la instalación no requiere un compilador C.

Supervisor nos permite asignar prioridades a los procesos, y permite al usuario emitir comandos a través del cliente “supervisorctl” como “start all”, y “restart all”.

Para este post usaremos como demostración Centos 7

Instalación

Realizaremos Instalación Centos/RHEL

Configuración

Supervisor incluye una funcionalidad llamada echo_supervisord_conf, el cual usaremos para crear nuestro archivo de configuración.

En el caso quiera agregar nuevas directivas para supervisor, deberemos hacerlo en /etc/supervisord.conf

Aunque podemos usar iniciar supervisor usando el comando supervisor, vamos a crear un servicio que nos permita iniciarlo, detenerlo y reiniciarlo, que será agregado en /etc/rc.d/init.d/supervisord

Crearemos un archivo /etc/rc.d/init.d/supervisord el cual debe tener el script anterior y le asignamos permisos de ejecución

Luego podremos iniciar, detener y reiniciar el servicio.

El siguiente archivo de configuración se usó para levantar una aplicación realizada con dotnet, el cual se agregó en /etc/supervisord.conf

Mayor referencia verificar en:
https://github.com/Supervisor/supervisor
http://supervisord.org/

Share on FacebookTweet about this on TwitterShare on Google+

One thought on “Supervisor, control de procesos en sistemas operativos UNIX

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *