El supervisor no viene con un script de inicio o no indica cómo comenzarlo automáticamente, es decir. Después de un reinicio. He probado algunos scripts /etc/init.d aportados por los usuarios, pero todos fallan.
¿Cuál sería la solución preferida?
El supervisor no viene con un script de inicio o no indica cómo comenzarlo automáticamente, es decir. Después de un reinicio. He probado algunos scripts /etc/init.d aportados por los usuarios, pero todos fallan.
¿Cuál sería la solución preferida?
Respuestas:
En realidad, encontré uno que funciona aquí http://gist.github.com/176149 . Para instalarlo:
sudo curl https://gist.github.com/howthebodyworks/176149/raw/88d0d68c4af22a7474ad1d011659ea2d27e35b8d/supervisord.sh > /etc/init.d/supervisord
para ejecutarlo
sudo chmod +x /etc/init.d/supervisord
y para programarlo automáticamente, hacer
sudo update-rc.d supervisord defaults
Asegúrese de que el pid correcto en /etc/supervisord.conf que está asignado en /etc/init.d/supervisord
example: pidfile=/var/run/supervisord.pid
Pare y comience a trabajar correctamente
service supervisord stop
service supervisord start
Creé un script de inicio para ubuntu 9.10
Por ejemplo, instalé el supervisor en un entorno virtual, luego inicié y controlé al supervisor desde el inicio.
crear un archivo de texto /etc/init/supervisord.conf
los contenidos son:
description "supervisord"
start on runlevel [345]
stop on runlevel [!345]
expect fork
respawn
exec /misc/home/bkc/Python_Environments/java2/supervisord/bin/supervisord -c /misc/home/bkc/Python_Environments/java2/supervisord/work/supervisord.conf
Se iniciará automáticamente el supervisor en el arranque. Para comenzar manualmente después de crear el archivo .conf, use
supervisor de inicio de sudo
Para detener manualmente el servicio, use
supervisor de parada de sudo
curl -L https://gist.github.com/raw/1213031/929e578faae2ad3bcb29b03d116bcb09e1932221/supervisord.conf > /etc/init/supervisord.conf && start supervisord
Esto es lo que uso en RHEL 5.4 y CentOS 5.5
No estoy seguro de si depende de algunos ajustes de configuración en mi supervisor.conf. Pero parece funcionar bien.
Debe ejecutar el siguiente comando después de instalarlo
chkconfig --add supervisord
[/etc/rc.d/init.d/supervisord]
#!/bin/sh
#
# /etc/rc.d/init.d/supervisord
#
# Supervisor is a client/server system that
# allows its users to monitor and control a
# number of processes on UNIX-like operating
# systems.
#
# chkconfig: - 64 36
# description: Supervisor Server
# processname: supervisord
# Source init functions
. /etc/rc.d/init.d/functions
prog="supervisord"
prefix="/usr/"
exec_prefix="${prefix}"
prog_bin="${exec_prefix}/bin/supervisord"
PIDFILE="/var/run/$prog.pid"
start()
{
echo -n $"Starting $prog: "
daemon $prog_bin --pidfile $PIDFILE
[ -f $PIDFILE ] && success $"$prog startup" || failure $"$prog startup"
echo
}
stop()
{
echo -n $"Shutting down $prog: "
[ -f $PIDFILE ] && killproc $prog || success $"$prog shutdown"
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
;;
esac
chkconfig --add supervisord
también debes habilitarlo para diferentes niveles de carrera a través dechkconfig supervisord --level 345 on
Hay un script Debian / Ubuntu en el repositorio oficial de Supervisor GitHub:
https://github.com/Supervisor/initscripts/blob/master/debian-norrgard
Esto está funcionando para mí en Ubuntu 10.04.3 LTS. También parece funcionar en 8.04:
Agregue lo siguiente a /etc/init.d/supervisord
#! /bin/bash -e
SUPERVISORD=/usr/local/bin/supervisord
PIDFILE=/tmp/supervisord.pid
OPTS="-c /etc/supervisord.conf"
test -x $SUPERVISORD || exit 0
. /lib/lsb/init-functions
export PATH="${PATH:+$PATH:}/usr/local/bin:/usr/sbin:/sbin"
case "$1" in
start)
log_begin_msg "Starting Supervisor daemon manager..."
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $SUPERVISORD -- $OPTS || log_end_msg 1
log_end_msg 0
;;
stop)
log_begin_msg "Stopping Supervisor daemon manager..."
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE || log_end_msg 1
log_end_msg 0
;;
restart|reload|force-reload)
log_begin_msg "Restarting Supervisor daemon manager..."
start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $SUPERVISORD -- $OPTS || log_end_msg 1
log_end_msg 0
;;
*)
log_success_msg "Usage: /etc/init.d/supervisor
{start|stop|reload|force-reload|restart}"
exit 1
esac
exit 0
Entonces corre:
sudo chmod +x /etc/init.d/supervisord
sudo update-rc.d supervisord defaults
sudo service supervisord start
Ninguna de las otras respuestas funcionó para mí.
Supervisor parece estar ahora en el repositorio de apt, por lo que no debería ser necesario crear manualmente archivos init, solo:
sudo apt-get install supervisor
Es posible que desee limpiar primero (y hacer una copia de seguridad) sus archivos antiguos antes de la instalación.