Supervisord ohne Root-Zugriff ausführen

Supervisord ohne Root-Zugriff ausführen

Hallo, ich bin ein echter Neuling im Skripteschreiben und habe viel gesucht, aber alles, was ich gefunden habe, sind Skripte mit Vollzugriff. Ich habe keinen Zugriff auf /etc. Ich arbeite auf einem Host in der Cloud, habe aber nur eingeschränkten Zugriff, weshalb alle meine Versuche erfolglos waren. Bisher habe ich Folgendes:

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

Aber ich erhalte immer diesen Fehler:

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

Bitte helfen Sie, ich habe keine Ahnung, was los ist ...

Antwort1

Es sieht so aus, als hätten Sie Ihr Beispielskript ( init.d) von etwas, das das Programm verwendet, daemonum andere (Nicht-Daemon-)Programme zu daemonisieren, und Ihnen fehlt dieses Programm.

Ich habe es nicht daemoninstalliert (Ubuntu 12.04) und du brauchst es auch nicht dafür supervisord. Du kannst es --pidfile=FILEdirekt auf supervisordsich selbst anwenden und es wird sich selbst als Daemon ausführensofern nicht anders angegeben.

Sie sollten prüfen, ob Sie an schreiben können /var/run/supervisord.pidoder anderweitig einen anderen, zugänglichen Ort angeben können.

verwandte Informationen