Запустить supervisord без прав root

Запустить supervisord без прав root

Привет, я совсем новичок в написании скриптов, и я много искал, но все, что я нашел, это скрипты с полным доступом. У меня нет доступа к /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для демонизации других — не демонических — программ, и у вас отсутствует эта программа.

У меня не daemonустановлено (Ubuntu 12.04), и вам это не нужно для supervisord. Вы можете использовать его --pidfile=FILEнапрямую supervisord, и он будет демонизировать себяесли не указано иное.

Вам следует проверить, можете ли вы написать по адресу /var/run/supervisord.pidили указать другое доступное место.

Связанный контент