# Howto Supervisor C'est un système qui permet à ses utilisateurs de surveiller et de contrôler un certain nombre de processus. il est destiné à être utilisé pour contrôler les processus liés à un projet ou à un client, et est conçu pour démarrer comme tout autre programme au démarrage. ~~~ # apt install supervisor ~~~ ## Configuration Fichier /etc/supervisor/supervisord.conf Par exemple pour écouter sur le port TCP/9001 (sans authentification) : ~~~ [inet_http_server] port = 127.0.0.1:9001 ~~~ On peut ensuite faire : ~~~ $ supervisorctl -s http://127.0.0.1:9001 status ~~~ ### Exemple Si l'on souhaite surveiller le process /home/bar/foo ~~~ # cat /etc/supervisor/conf.d/foo.conf [program:foo] user=bar command=/home/bar/foo autostart=true autorestart=true stderr_logfile=/home/bar/log/foo.error.log stdout_logfile=/home/bar/log/foo.log ~~~ ~~~ # supervisorctl reread # supervisorctl update ~~~ ~~~ # supervisorctl foo RUNNING pid 42042, uptime 0:42:42 supervisor> stop foo foo: stopped supervisor> start foo foo: started supervisor> help default commands (type help ): ===================================== add exit open reload restart start tail avail fg pid remove shutdown status update clear maintail quit reread signal stop version ~~~ ## En cas de soucis On vérifie si le process tourne encore ~~~ # ps -ef | grep supervisord ~~~ Si c'est le cas on peut le `kill` (et `kill -9` si ça n'a pas suffit). Si ce n'est plus le cas, il se peut qu'il soit nécessaire de supprimer la socket ~~~ # unlink /var/run/supervisor.sock ~~~