Source

mindref-sbin / lxc-shutdown

#!/bin/sh

name=$1
timeout=15

if lxc-info -n $name | grep -qs "STOPPED"
then
    echo $name not running...
    exit 0
fi

# Use the following two commands to override lxc-shutdown for lxc
# v0.8+
#
# update-alternatives --install /usr/bin/lxc-shutdown \
#   lxc-shutdown /usr/local/sbin/lxc-shutdown 1
# update-alternatives --set lxc-shutdown \
#   /usr/local/sbin/lxc-shutdown

ssh $name halt &
#if [ -e /usr/bin/lxc-halt ]; then
#    /usr/bin/lxc-halt -n $name
#else
#    ssh $name halt &
#fi

while [ $timeout -gt 0 ]
do
    timeout=$(($timeout-1));sleep 1
    if lxc-info -n $name | grep -qs "STOPPED"
    then
        exit 0
    fi
done

lxc-stop -n $name
lxc-wait -n $name -s 'STOPPED'