X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvserver.stop;h=55aedb3d502a91c2795b2096334743eeef83d924;hb=036b3a89556ef244feea9156ed3381e29a3e7e6a;hp=586addaaf079e4bf1afa75cf486d4b1413775a0e;hpb=f32bc7966248cb1b9f3c535669db577cd022c369;p=util-vserver.git diff --git a/scripts/vserver.stop b/scripts/vserver.stop index 586adda..55aedb3 100644 --- a/scripts/vserver.stop +++ b/scripts/vserver.stop @@ -50,7 +50,7 @@ OPTION_FORCE_SYNC=1 while test "$#" -gt 0; do case "$1" in - (--rescue-init) _IS_FAKEINIT=1;; + (--rescue-init) shift; _IS_FAKEINIT=1;; (--) shift; break;; (-*) panic $"vserver ... stop: unknown option '$1'";; esac @@ -70,6 +70,8 @@ cd "$VSERVER_DIR"/vdir/ test -z "$OPTION_DEFAULTTTY" || setDefaultTTY "$VSERVER_DIR" +$_VATTRIBUTE --set --xid "$S_CONTEXT" --flag !SC_HELPER + fail= initWait "$VSERVER_DIR" "$S_CONTEXT" vwait_statdir if test -n "$_IS_FAKEINIT" && \ @@ -78,15 +80,17 @@ if test -n "$_IS_FAKEINIT" && \ $_VKILL -s INT --xid "$S_CONTEXT" -- 1 || fail=1 fi elif $_VSERVER_INFO - FEATURE migrate; then + "${IONICE_CMD[@]}" \ "${NICE_CMD[@]}" \ "${CHBIND_CMD[@]}" \ - "$_VSPACE" --enter "$S_CONTEXT" "${OPTS_VSPACE[@]}" -- \ + "$_VSPACE" --enter "$S_CONTEXT" "${OPTS_VSPACE[@]}" "${OPTS_VSPACE_SHARED[@]}" -- \ "$_VTAG" --migrate "${OPTS_VTAG_ENTER[@]}" --silent -- \ - $_VCONTEXT $SILENT_OPT --migrate --chroot --xid "$S_CONTEXT" -- \ + $_VCONTEXT $SILENT_OPT --migrate $OPT_VCONTEXT_CHROOT --xid "$S_CONTEXT" -- \ "${INITCMD_STOP[@]}" || fail=1 else + "${IONICE_CMD[@]}" \ "${NICE_CMD[@]}" \ - "$_CHBIND" "${CHBIND_OPTS[@]}" \ + "${CHBIND_CMD[@]}" \ "$_EXEC_ULIMIT" "$VSERVER_DIR/ulimits" \ $_CHCONTEXT_COMPAT "${CHCONTEXT_OPTS[@]}" \ "$_CAPCHROOT" "${CAPCHROOT_OPTS[@]}" "." \ @@ -122,3 +126,4 @@ saveDiskLimits "$VSERVER_DIR" execScriptlets "$VSERVER_DIR" "$VSERVER_NAME" postpost-stop removeCPUSET "$VSERVER_DIR" +destroyCgroup "$VSERVER_DIR"