다음과 같은 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
.
감독자 구성에 대한 자세한 내용은 다음을 참조하세요.여기.