Dämon warten bis beendet

02/11/2010 - 08:49 von Philipp Kraus | Report spam
Hallo,

ich habe ein Gentoo laufen und dort für diverse Aufgaben den
/etc/init/local Dàmon konfiguriert. Innerhalb des Stop Bereiches sollen
verschiedene VMs beendet werden, dafür habe ich folgende Zeile
eingetragen:

/opt/VirtualBox/VBoxManage controlvm myvm acpipowerbutton > /dev/null

Die VM erhàlt auch den Aufruf zum Shutdown und führt ihn auch aus, nur
öfters wird der Dienst des Hostsystems wohl via kill beendet, bevor die
VM wirklich komplett beendet ist. Das führt letztendlich zu einem
defekten Dateisystem in der VM. Wie kann ich den local Dienst
mitteilen, dass er bis auf weiteres warten soll, damit die VMs wirklich
komplett beendet wurden?
Ich hatte daran gedacht, da jede VM einen eigenen Prozess hat, einfach
in einer While Schleife innerhalb des local Scriptes zu prüfen, bis
alle Prozesse beendet wurden, das finde ich aber irgendwie sehr
unelegant.

Danke für die Hilfe

Phil
 

Lesen sie die antworten

#1 Jan Braun
03/11/2010 - 05:38 | Warnen spam
Philipp Kraus schrob:
[...] Wie kann ich den local Dienst mitteilen, dass er bis auf
weiteres warten soll, damit die VMs wirklich komplett beendet wurden?
Ich hatte daran gedacht, da jede VM einen eigenen Prozess hat, einfach
in einer While Schleife innerhalb des local Scriptes zu prüfen, bis
alle Prozesse beendet wurden, das finde ich aber irgendwie sehr
unelegant.



Solange Virtualbox keine Option "sende Beenden-Signal und warte bis die
VM heruntergefahren ist" hat, wirst Du um so eine Warteschleife nicht
herumkommen. Evtl. findest Du ein Programm, das die Schleife schon
eingebaut hat, falls Du sowas für eleganter hàltst. Mir fàllt grad keins
ein, und ich finde in diesem Fall ein
$ timeout 30 sh -c 'while pgrep $VMBINARY >/dev/null; do sleep 1; done'
durchaus angemessen.

Gruß,
Jan
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments

Ähnliche fragen