Zum Inhalt springen

initscript - pidfile erstellen


Empfohlene Beiträge

Geschrieben

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!

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...