Just2blue4U Geschrieben 11. März 2005 Teilen Geschrieben 11. März 2005 Hallo Helfer! Ich bastle grade an einem initscript (für /etc/init.d/ ) welches unseren tomcat und jBoss starten soll. Daher habe ich versucht, so gut es geht die "/etc/rc.d/init.d/functions" zu verwenden. Auch mein Script habe ich so gut wie möglich im Standart gehalten. Jetzt stehe ich vor dem Problem das mir absolut unklar ist, wie die ganzen Start/Stoppscripte ihre Pidfile in "/var/run/" anlegen. Ich habe weder in der "functions" noch in den Startscripts irgendetwas gefunden was ich dem Erstellen einer Pidfile zuweisen konnte. Da ich die einzelnen Start/Stoppscripts jedoch besser verstanden habe als die "functions", gehe ich davon aus das die Pidfile in der "functions" erstellt wird. Wer kann mir verraten wie die Standart-Startscripts die Pidfiles in "/var/run/" erstellt bekommen? Ausserdem habe ich festgestellt, das ein mit der Funktion "daemon" aus der "functions" gestartetes Script erst als korrekt gestartet erkannt wird, wenn es als Fehlercode eine "0" zurückgibt. Wenn ich nun ein Daemonimitat (/usr/bin/sleeper) habe: #!/bin/bash while [ 1 != 0 ] do sleep 60 done und mein Startscript (/etc/init.d/sleeper): #!/bin/bash # ### # # sleeper Startup script for testing initscript-functions # # chkconfig: - 90 05 # description: This is just for testing purposes... \ # the sleeper sleeps! # processname: sleeper # pidfile: /var/run/sleeper.pid # ### # # Source function library. . /etc/rc.d/init.d/functions # ### # # variables location=/usr/bin/run_sleeper pidfile=/var/run/sleeper.pid lockfile=/var/lock/subsys/sleeper # ### # # The functions: start() { echo -n $"Beginning to sleep:" daemon $location RETVAL=$? echo if [ $RETVAL = 0 ] then touch ${lockfile} fi return $RETVAL } stop () { echo -n $"Waking up the sleeper:" killproc $location RETVAL=$? echo } # ### # # present functions to user case "$1" in start) start ;; stop) stop ;; status) status $location RETVAL=$? ;; restart) stop start ;; reload) reload ;; *) echo $"Usage: sleeper {start|stop|restart|reload|status}" exit 1 esac exit $RETVAL sehe ich das richtig, das ich dann zusätzlich noch ein Script á la /usr/bin/run_sleeper: #!/bin/bash sleeper & brauche, oder kann ich direkt im laufenden Prozess "/usr/bin/sleeper" schon einen Fehlercode "0" zurückgeben? Ich habe nämlich feststellen müssen, dass mein Startscript (also /etc/init.d/sleeper) sonst wartet, bis mein Daemon-Imitat zuendeläuft (also nie!). Wie schon erwähnt, ich mochte mich an den Standart-Start/Stoppscripts orientieren... Ich würde mich sehr freuen wenn sich jemand die Zeit nimmt und mir diese wahrscheinlich einfache Frage beantwortet! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Just2blue4U Geschrieben 11. März 2005 Autor Teilen Geschrieben 11. März 2005 Ach ja- ich arbeite auf einem Fedora Core II System! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.