Supervisord는 ssserver를 실행하지만 CentOS에서 오류를 보고합니까?

Supervisord는 ssserver를 실행하지만 CentOS에서 오류를 보고합니까?

다음과 같은 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

그런 다음 다음을 수행하여 설정하고 시작했습니다.

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

그 후에는 모든 것이 정상입니다. 이제 시작할 때 shadowsocks:

supervisorctl start shadowsocks

오류가 보고됩니다.

shadowsocks: ERROR (abnormal termination)

하지만 직접 실행하면 다음과 같습니다.

ssserver -c ~/config.json

좋은 결과. 왜 이것이 작동하지 않습니까 supervisord?

답변1

AFAIK, supervisor제목 ~확장은 지원되지 않으며 ~/config.json텍스트로 처리됩니다.

~/config.json절대 경로를 변경 /path/to/config.json하고 통과 가능한지 확인해야 합니다 nobody.

감독자 구성에 대한 자세한 내용은 다음을 참조하세요.여기.

관련 정보