--- src/lxc/lxc-shutdown.in | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/src/lxc/lxc-shutdown.in b/src/lxc/lxc-shutdown.in index ee07f75..247e90b 100644 --- a/src/lxc/lxc-shutdown.in +++ b/src/lxc/lxc-shutdown.in @@ -18,13 +18,17 @@ set -e +lxcpath=/var/lib/lxc +test ! -f /etc/lxc/lxc.conf || . /etc/lxc/lxc.conf + 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 +42,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 +86,12 @@ while [ $# -gt 0 ]; do dowait=1 shift ;; + -P|--lxcpath) + optarg_check $opt "$1" + lxcpath=$1 + dowait=1 + shift + ;; --) break;; -?) @@ -104,6 +114,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 +127,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 +150,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 -- 1.8.1.3 ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite It's a free troubleshooting tool designed for production Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap2 _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel