Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

initscript - pidfile erstellen

Empfohlene Antworten

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!

Ach ja- ich arbeite auf einem Fedora Core II System!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.