From: Harald Dunkel Date: Fri, 3 May 2013 08:53:40 +0000 (+0200) Subject: support alternate container path in lxc-shutdown X-Git-Tag: lxc-1.0.0.alpha1~1^2~229 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2c8186b4d185d75e81aec02d5a62dde4192c16d;p=thirdparty%2Flxc.git support alternate container path in lxc-shutdown Signed-off-by: Harald Dunkel Signed-off-by: Serge Hallyn --- diff --git a/src/lxc/lxc-shutdown.in b/src/lxc/lxc-shutdown.in index ee07f7595..953ee6eca 100644 --- a/src/lxc/lxc-shutdown.in +++ b/src/lxc/lxc-shutdown.in @@ -18,13 +18,16 @@ set -e +. @DATADIR@/lxc/lxc.functions + usage() { - echo "usage: lxc-shutdown -n name [-w] [-r]" + echo "usage: lxc-shutdown -n name [-w] [-r] [-P lxcpath]" echo " Cleanly shut down a container." echo " -w: wait for shutdown to complete." echo " -r: reboot (ignore -w)." echo " -t timeout: wait at most timeout seconds (implies -w), then kill" echo " the container." + echo " -P lxcpath: path to the lxc container directories." } alarm() { @@ -38,7 +41,7 @@ alarm() { dolxcstop() { echo "Calling lxc-stop on $lxc_name" - lxc-stop -n $lxc_name + lxc-stop -n $lxc_name -P "$lxcpath" exit 0 } @@ -82,6 +85,12 @@ while [ $# -gt 0 ]; do dowait=1 shift ;; + -P|--lxcpath) + optarg_check $opt "$1" + lxcpath=$1 + dowait=1 + shift + ;; --) break;; -?) @@ -104,6 +113,11 @@ if [ -z "$lxc_name" ]; then exit 1 fi +if [ ! -d "$lxcpath" ]; then + echo "$lxcpath: no such directory" + exit 1 +fi + if [ "$(id -u)" != "0" ]; then echo "This command has to be run as root" exit 1 @@ -112,7 +126,7 @@ fi which lxc-info > /dev/null 2>&1 || { echo "lxc-info not found."; exit 1; } which lxc-wait > /dev/null 2>&1 || { echo "lxc-wait not found."; exit 1; } -pid=`lxc-info -n $lxc_name -p 2>/dev/null | awk '{ print $2 }'` +pid=`lxc-info -n $lxc_name -P "$lxcpath" -p 2>/dev/null | awk '{ print $2 }'` if [ "$pid" = "-1" ]; then echo "$lxc_name is not running" exit 1 @@ -135,7 +149,7 @@ if [ $timeout != "-1" ]; then alarmpid=$! fi -while ! lxc-info -n $lxc_name --state-is STOPPED; do +while ! lxc-info -n $lxc_name -P "$lxcpath" --state-is STOPPED; do sleep 1 done