루트 액세스 없이 감독자 실행

루트 액세스 없이 감독자 실행

안녕하세요 저는 스크립트 작성이 처음이고 많이 검색했지만 찾은 것은 전체 액세스 권한이 있는 스크립트뿐입니다. /etc에 액세스할 수 없습니다. 저는 클라우드의 호스트에서 작업하고 있지만 액세스가 제한되어 있기 때문에 모든 시도가 실패했습니다. 지금까지 나는 이것을 가지고 있습니다 :

    #!/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

하지만 항상 다음과 같은 오류가 발생합니다.

   Starting supervisord: script.sh: 27: script.sh: daemon: not found
   script.sh: 28: script.sh: failure: not found

도와주세요. 무슨 일이 일어나고 있는지 전혀 모르겠습니다 ...

답변1

init.d프로그램을 사용하여 daemon다른(데몬이 아닌) 프로그램을 데몬화하는 예제( ) 스크립트를 얻었는데 해당 프로그램이 누락된 것 같습니다 .

나는 (Ubuntu 12.04)을 설치하지 않았 daemon으며 supervisord. 자체적 --pidfile=FILE으로 직접 사용할 수 supervisord있으며 자체적으로 악마화됩니다.달리 지시하지 않는 한.

에 쓸 수 있는지 확인 /var/run/supervisord.pid하거나 액세스 가능한 다른 위치를 지정해야 합니다.

관련 정보