O Supervisord executa o ssserver, mas relata um erro no CentOS?

1

Eu tenho a seguinte configuração de Supervisord, /etc/supervisord.conf :

...
[program:shadowsocks]
command=ssserver -c ~/config.json
autorestart=true
user=nobody
...

/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

Eu então faço o seguinte para configurá-lo e iniciá-lo:

$ sudo chmod +x /etc/rc.d/init.d/supervisord
$ sudo chkconfig --add supervisord
$ sudo chkconfig supervisord on
$ sudo service supervisord start

Depois tudo está OK. Agora quando eu começo shadowsocks :

supervisorctl start shadowsocks

Relata um erro:

shadowsocks: ERROR (abnormal termination)

No entanto, se eu executar diretamente:

ssserver -c ~/config.json

funciona bem. Por que isso não funciona com supervisord ?

    
por arachide 04.07.2014 / 16:36

1 resposta

1

AFAIK, supervisor não suporta expansão de ~ de tudle, ~/config.json é tratado como literal.

Você deve alterar ~/config.json para seu caminho absoluto /path/to/config.json e garantir que ele possa ser acessado por nobody .

Mais sobre a configuração de supervisor, consulte aqui .

    
por 04.07.2014 / 16:53