• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Shell Skript für Runlevelwechsel

Hallo,

ich bin dabei mich in der Shell-Prgrammierung einzuarbeiten. Ich möchte gerade ein Shell-Skript schreiben, dass über einen Parameter den gewünschten Runlevel entgegennimmt, das Programm /sbin/init ausführt und nach dem Wechsel eine Meldung "Erfolgreich gewechselt" ausgibt.

Derzeit sieht mein Code so aus:

Code:
#!/bin/bash

echo "Bitte Runlevel eingeben: "; read a; /sbin/init $a

echo "Erfolgreich gewechselt"

Jetzt habe ich nur das Problem, dass die Meldung zu erst kommt und der Runlevel anschließend gewechelt wird.

Hat jemand eine Idee, wie ich den Runlevel erst wechseln kann und dann erst die Meldung erscheint???

Danke
Thomas
 
Evt. einfach ein "sleep" dazwischen setzen, damit die Meldung auch wirklich dann erst ausgegeben wird, wenn der Runlevel-Wechsel abgeschlossen ist.

Oder vor der Ausgabe das Kommando "runlevel" abfragen.
 
A

Anonymous

Gast
tomi-w80 schrieb:
echo "Bitte Runlevel eingeben: "; read a; /sbin/init $a
echo "Erfolgreich gewechselt"

Jetzt habe ich nur das Problem, dass die Meldung zu erst kommt und der Runlevel anschließend gewechelt wird.

sowas wird nicht 100%tig funktionieren, init 0 oder 6 wird dieser Prozess mit Sicherheit nie überleben auch von 3 oder 5 auf Runlevel 2 oder 1 bin ich mir nicht so ganz sicher ob die Shell nicht abgeschossen wird und du ein neues Login bekommst.

Wenn dafür wirklich eine praktische Notwendigkeit bestehen würde, dann würde ich das Script ohne init schreiben und die Dienste innerhalb des Scriptes einzeln starten oder beenden.

robi
 
Hallo,

danke für die Tipps. Wie gesagt, ich bin gerade dabei mich in die Shellprogrammierung einzuarbeiten und bin eben auf diese Aufgabe gestoßen, die ich unbedingt lösen möchte.

Irgendwie muss es ja gehen...

Das Problem bei mir ist, dass nach einem Runlevelwechsel kein Eingabepromt mehr kommt, sondern nur der Runlevelwechsel vom System bestätigt wird. Ich möchte aber eben einfach den Runlevel wechseln, anschließend erscheint meine Meldung und dann bleibt der Eingabepromt stehen...

HMMMMMMMMMMM

Gruß
Thomas
 
Oben