vitalik2 schrieb:Wie kann man bei Suse 11.3 ein script beim herunterfahren ausführen?
Natürlich gibt es Dinge die man da tun kann, aber genau genommen ist der PC dann auch noch nicht mit dem Shutdown beschäftigt sondern man tut halt etwas zuvor eingestelltes als letzte Aktion. Während dem herunterfahren wird sicher nichts mehr getan werden können weil die Systemdienste nicht mehr zur Verfügung stehen :/Systemcrasher schrieb:Da fallen mir ganz spontan verschiedene (sinnvolle) Dinge ein. Z.B. Backups, evtl. vorhandene (Backup-)Server gleich mit runterfahren, usw.
Ist es zu umständlich das laufende Windows von ganz normal herunter zu fahren und dann den Wirt mit einem Shutdown zu beenden?vitalik2 schrieb:ich habe eine Windows Installation in der VirtualBox. mit einem script habe es so eingerichtet, dass Virtualbox beim Start vom Rechner gestartet wird. Beim Herunterfahren sollte der gleiche Script die VirtualBox speichern und beenden. Das Problemm ist das der Linux zu schnell herunterfährt und in der Zeit die VirtualBox ihr Zeug nicht abspeichern kann. Beim Nächsten Start startet dann die VBox nicht mehr, weil man die erst resetten muss (die box ist mit "Invalid State" markiert).
ich dachte mir man könnte ja einfach was vor den Shutdown befehl tun, damit das Problem weg ist.
Shutdown sendet allen laufenden Prozessen eine Warnung das es gleich herunterfahren wird und dann sofort das kill Signal an alle die in diesem Moment noch nicht heruntergefahren sind. Die Option -t (= time) erlaubt es Dir die Zeitspanne zwischen der Warnung und dem Kill-Signal zu vergrößern so das auch Virtualbox, resp. Windows selber, noch Zeit hat herunter zu fahren.man shutdown schrieb:-t sec Tell init(8) to wait sec seconds between sending processes the warning and the kill signal, before changing to another
runlevel.
shutdown -t 15 -h "Achtung das Computersystem wird in 15 Sekunden herunter gefahren" now
QuelleCode:#! /bin/bash # # Computer runterfahren bzw. rebooten # #! /bin/bash # # Computer runterfahren bzw. rebooten # if test $UID -ne 0; then exec sudo $0 $* fi DIALOG=${DIALOG=/usr/bin/dialog} $DIALOG --clear --title "Ausschalt-Menue" \ --menu "\n\ Bitte auswaehlen \n\ Navigation mit Cursor-Tasten, oder den \n\ ersten Buchstaben druecken (Hotkey), oder mit \n\ den Zifferntasten 1-3 eine Auswahl treffen. \n\ Try it now!\n\ " 18 50 3 \ "Aus" "Linux runterfahren" \ "Reboot" "Linux neu starten" \ "Cancel" "Menue abbrechen" 2> /tmp/menu.tmp.$$ retval=$? choice=`cat /tmp/menu.tmp.$$` rm -f /tmp/menu.tmp.$$ setterm -clear case $retval in 1) echo "Cancel pressed.";; 255) echo "ESC pressed.";; esac if [ "$choice" = "Aus" ]; then /sbin/shutdown -t 15 -h now exit 1 elif [ "$choice" = "Reboot" ]; then /sbin/shutdown -t 15 -r now exit 1 elif [ "$choice" = "Cancel" ]; then echo "Vorgang abgebrochen." exit 1 fi exit 0