Understanding Bhyve shutdown
Nikos Vassiliadis
nvass at gmx.com
Wed Apr 13 12:37:26 UTC 2016
Hi Roman,
On 04/13/16 13:55, Roman Bogorodskiy wrote:
> Q1: Is there a way to know if a guest reacted to power button but
> waiting for the bhyve process to terminate?
I just signal repeatedly $bhyve_pid until it's gone.
For what it's worth, I use this /etc/rc.shutdown.local:
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
# shutdown VMs
for sig in TERM KILL; do
for f in 1 2 3 4 5 6 7 8 9 10; do
cmds=`killall -${sig} -q -s bhyve | sed 's/$/;/'`
test -z "$cmds" && exit
sh -c "$cmds"
sleep 1
done
done
When a VM is hang, it won't respond to TERM, so you might
want to use something like, 'for sig in TERM HUP KILL'.
It works ok in my experience and I do have some VMs running Java
which take a while to shutdown. Our VMs usually shut down within one
or two seconds, the Java ones need more but still within ten seconds
everything is gone. Experiment a bit and give it enough time to
shutdown gracefully and if it's still alive SIGHUP $bhyve_pid.
HTH,
Nikos
More information about the freebsd-virtualization
mailing list