Zum Inhalt springen

...start und stop script...


echo

Empfohlene Beiträge

ola...

ein problem gelöst -> next problem...

die start und stopscripts für den runlevel 3 werden bei solaris 7 in dem verzeichniss /etc/rc3.d abgelegt. soweit so gut...

die scripts die beim erreichen des runlevels ausgeführt werden beginnen mit 'S' und solche die beim verlassen ausgeführt werden beginnen mit 'K'...

wenn ich nun ein script habe, in welchem eine case anweisung mittels

case $1 in

'start')

[kommando]

;;

'stop')

[kommando]

;;

*)

esac

eine start und stop anweisung enthält und ich dieses script einmal als K90script und als S90script in das verzeichniss /etc/rc3.d ablege, wird dann beim verlassen des runlevels das kommando in der stop anweisung ausgeführt und analog hierzu beim erreichen des runlevels das kommando in der start anweisung, oder werden immer beide, also das ganze script ausgeführt...???

alo echo...

Link zu diesem Kommentar
Auf anderen Seiten teilen

ola...

negativ -> ich muß mich korrigieren -> durch herumexperimentieren hab ich herausgefunden, das beim wechsel in einen runlevel folgendes mit einem mit 'S' beginnenden script passiert:

das kommando in der case anweisung 'start' wird ausgeführt

und bei einem mit 'K' beginnenden script wird:

das kommando in der case anweisung 'stop' wird ausgeführt

beim verlassen des runlevels wird keines der scripts ausgeführt...

nun habe ich folgendes problem:

ich möchte einen prozess bei erreichen des runlevel 3 starten und selbigen bei verlassen des runlevel 3 wieder beenden...

any ideas...

alo echo...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

unter Solaris funktionieren die INIT-Level ein wenig anders, als unter Linux.

Beim booten in Level 3 werden *alle* Scripts in /etc/rc3.d ausgeführt. S* mit start, K* mit stop.

Möchtest Du also im INIT-Level 3 etwas ausführen, so benutze S*. Soll im INIT-Level 3 etwas auf gar keinen Fall gestartet (also beendet) werden, so wird hier ein K* gesetzt.

Beim verlassen des 3er Levels wird entweder INIT 0 oder 6 ausgeführt. - Also wird das Script/Link in /etc/rc0.d gesetzt.

Example:

/etc/rc3.d/S90ssh

/etc/rc0.d/K10ssh

Außerdem verhält sich:

S = x

K = 100 - x

Tschö.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ola...

danke erstmal für deine antwort -> ein teilerfolg ist vorhanden, aber leider nur ein teilerfolg...

ich habe nun folgendes script (selbst geschrieben, bitte auf syntaktische fehler überprüfen) als S91samba unter /etc/rc3.d und als K08samba unter /etc/rc0.d abgelegt...

 

#!/bin/sh

#

OPTS="-D"

#DEBUG=-d3

SAMBA_DIR=/usr/local/samba

case "$1" in

 'start')

  echo "samba wird gestartet..."

  $SAMBA_DIR/bin/smbd $OPTS $DEBUG

  $SAMBA_DIR/bin/nmbd $OPTS $DEBUG

  ;;

 'stop')

  echo "samba wird angehalten..."

  kill `awk -F: '{print $1}' $SAMBA_DIR/var/locks/smbd.pid`

  kill `awk -F: '{print $1}' $SAMBA_DIR/var/locks/nmbd.pid`

  rm -f $SAMBA_DIR/var/locks/smbd.pid

  rm -f $SAMBA_DIR/var/locks/nmbd.pid

  ;;

 *)

 echo "Error: use {start|stop}"

 exit 1

esac


...beim booten in runlevel 3 funktioniert auch alles wunderbar. zu testzwecken hab ich die zeilen in der start anweisung in welcher nmbd und smbd als deamon gestartet werden auskommentiert um zu verhindern, das die dateien *mbd.pid beim neustart wieder angelegt werden...

mein naiver sachverstand sagt mir dann, das nach einem neustart diese dateien nicht mehr vorhanden sein dürften (bedingt durch "rm -f $SAMBA_DIR/var/locks/smbd.pid" in der stop anweisung)...

nach einem neustart (durch den befehl "reboot") sind die dateien allerdings immer noch da, was mich vermuten lässt, das das script beim herunterfahren nicht ausgeführt wird und somit auch die prozesse (nmbd und smbd), welche durch das awk programm gekillt werden sollen (die dateien *mbd.pid enthalten die PID's der prozesse) nicht sauber beendet werden...

wird das system jedoch mit dem befehl "init 0" verlassen, dann sind die dateien verschwunden, was mich widerum glauben lässt, das das script syntaktisch richtig ist...

what do you mean...???

alo echo...

<FONT COLOR="#a62a2a" SIZE="1">[ 01. September 2001 20:20: Beitrag 1 mal editiert, zuletzt von echo ]</font>

Link zu diesem Kommentar
Auf anderen Seiten teilen

ola...

okay -> ich beantworte mir die frage gleich selber ;)

..."wer lesen kann ist klar im vorteil"...

steht da doch:

reboot

"dieser befehl hat die selbe funktion wie der befehl "init 6"...

was wohl soviel heissen soll, das "init 0" nicht ausgeführt wird, und mein script in /etc/rc0.d wohl ignoriert wird...

einen weiteren test habe ich (mit dem selben ergebniss wie reboot) mit meinem üblichen kommando "halt" durchgeführt...

steht da doch bei

halt

"ist im vergleich mit "shutdown" eine schnellere methode einen rechner herunterzufahren. dies ist insbesondere deswegen der fall, weil der "halt"-befehl nicht auf den "init"-befehl zugeführt wird und somit keine K-scripten abgearbeitet werden...

(...ich lach mich kaputt...)

wenn ich aufhöre zu arbeiten, tue ich das in dem ich den rechner mit dem kommando "poweroff" ausschalte - natürlich hab auch den test mit diesem kommando gemacht (..ihr wisst es wohl schon -> erfolglos... ;))

steht da doch bei

poweroff

hat die selbe funktion wie der "halt"-befehl. allerdings wird durch diesen befehl zusätzlich das netzteil ausgeschaltet (wie praktisch)...

na wenn ich heute nichts dazugelernt hab...??? war eh ein sch... wetter... ;)

alo echo...

<FONT COLOR="#a62a2a" SIZE="1">[ 01. September 2001 20:58: Beitrag 1 mal editiert, zuletzt von echo ]</font>

Link zu diesem Kommentar
Auf anderen Seiten teilen

ola...

ich hoffe ihr verzeiht mir, wenn ich hier fast einen monolog führe... ;)

die ganze sache bringt mich gleich zum nächsten problem...

ich habe meine SUN workstation deshalb mit dem kommando "poweroff" schlafen gelegt, weil ich die maschine nicht mit dem "ON"-schalter am gehäuse ausschalten kann (warum weis ich auch nicht), und nur der befehl "poweroff" schaltet mir den rechner (bislang) ganz aus...

mein K-script funzt mit dem "shutdown now" kommando wunderbar, aber es fährt das system in den OpenBootMonitor -> und von da bekomm ich die kiste nicht aus ;-(

auch nach "init 0" findet sich das system im OpenBootMonitor wieder -> selbes problem...

und jeden tag das netzkabel ziehen ist auch lässtig...

hat da irgendwer noch eine idee...??? wenn nicht muß auch noch der sonntag daran glauben ;)...

alo echo...

<FONT COLOR="#a62a2a" SIZE="1">[ 01. September 2001 21:20: Beitrag 1 mal editiert, zuletzt von echo ]</font>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmmm,

setze doch einfach ein /etc/rc0.d/K99poweroff mit

stop)

poweroff

An meiner U10 funktioniert der Power-Button ebenfalls nicht. Da die aber selten offline ist, hatte ich das Problem noch nicht. ;)

Welche Solaris-Version hast Du im Einsatz. Bei früheren Versionen 2.6 führt ein reboot die init-scripts ebenfalls nicht aus.

Gruß,

Link zu diesem Kommentar
Auf anderen Seiten teilen

ola...

ich habe hier auch eine U10, auf der solaris 7 (sunOS 5.7) läuft -> mit den versionen blick ich eh nicht so recht durch -> ich denke das das das ;) selbe ist wie solaris 2.7...

das K99poweroff script arbeitet wie erwartet und schaltet das netzteil aus...

am rande:

nur damit ich weis das ich die sache richtig verstanden hab -> K99 darum, um sicherzustellen, das das script in /etc/rc0.d als allerletztes abgearbeitet wird - oder...???

eine ganz andere frage:

unter /etc/rc0.d liegen lauter dateien - ich habe allerdings das script unter /usr/local/samba/lib abgelegt, und aus den verzeichnissen /etc/rc0.d und /etc/rc3.d heraus einen softlink mit entsprechendem namen auf diese datei gelegt...

ist das okay soweit, oder können probleme auftauchen...??? immerhin hat der softlink mode 777 im gegensatz zur original datei, die hat mode 755. ich bin nicht sonderlich fit im umgang mit unix -> ich arbeite mich gerade ein -> denke aber, das es egal ist -> das verzeichniss /etc/rc?.d gehört eh root und other hat keine schreibberechtigung auf das verzeichniss...

...so, da samba nun endlich so auf meinem system läuft, wie ich mir das vorstelle, knöpfe ich mir die optionen der smb.conf mal genauer vor - das feintuning sozusagen...

ach ja -> noch eine anmerkung: das poweroffscript hab ich natürlich erstmal getestet und habe das system somit mit poweroff (ohne init 0) heruntergefahren. da samba aber nun ganz normal bei systemstart gestartet wird, wollte ich wissen, was mit den dateien /usr/local/samba/var/locks/*mbd.pid passiert, welche ja nicht gelöscht wurden beim poweroff (daher ja der ganze trubel) -> sie werden bei vorhandensein wohl überschrieben -> beide hatten die aktuelle PID der prozesse *mbd als inhalt -> vielleicht war der ganze trubel eh umsonst, aber sauberkeit ist das halbe leben und gelernt hab ich - ganz ehrlich - eine menge ;)...

@chweiss: war mir eine freude dich kennengelernt zu haben -> bleib uns hier erhalten -> man lernt nie aus...

alo echo...

alo echo...

Link zu diesem Kommentar
Auf anderen Seiten teilen

hihi funny.

also:

s = start und k = kill habt ihr ja schon rausgekriegt.

dann gibts das ganze als sym-link für jeden runlevel in dem etwas gestartet werden oder gestoppt werden soll. die zahl bestimmt die priorität (= reihenfolge), 01 oberste 99 niedrigste. aber ich kann ich mit gewissheit sagen ob k und s immer für einen prozess die gleiche priorität haben müssen - denke aber eigendlich nicht.

rechte 777 auf einem link bedeuten das jeder auch den sym-link ändern kann. nicht unbedingt vorteilhaft. 755 wäre besser. in /etc/rc?.d (wieso eigendlich /etc??? achja unix...) kann natürlich nix passieren.

übrigerns stehen unter /sbin/init.d/rc?.d (unix: /etc/rc?.d) nur symlinks. normalerweise nie scripte.

viel glück beim zuverlässigsten betriebssystem der wääält!

clay

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