Olá, sou muito novo em escrever scripts e pesquisei muito, mas tudo que encontrei foram scripts com acesso total. Não tenho acesso ao /etc. Estou trabalhando em um host na nuvem, mas tenho acesso limitado, por isso todas as minhas tentativas não tiveram sucesso. Até agora eu tenho isso:
#!/bin/sh
prog="supervisord"
prefix="/usr/local/"
exec_prefix="${prefix}"
prog_bin="${exec_prefix}/bin/supervisord -c /home/user/supervisor/supervisord.conf"
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
Mas sempre recebo esse erro:
Starting supervisord: script.sh: 27: script.sh: daemon: not found
script.sh: 28: script.sh: failure: not found
Por favor me ajudem, não tenho ideia do que está acontecendo...
Responder1
Parece que você obteve seu init.d
script de exemplo ( ) de algo que usa o programa daemon
para daemonizar outros programas (não-daemon) e está faltando esse programa.
Não tenho daemon
instalado (Ubuntu 12.04) e você não precisa dele para supervisord
. Você pode usar --pidfile=FILE
diretamente em supervisord
si mesmo e ele irá se daemonizara menos que seja orientado de outra forma.
Você deve verificar se pode escrever para /var/run/supervisord.pid
ou especificar um local diferente e acessível.