Zum Inhalt springen

initscript - pidfile erstellen


Just2blue4U

Empfohlene Beiträge

Hallo Helfer! :D

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!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...