X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fvserver;h=27bc37de96fb095cf4f43eabc9b0d08dcbbb0c5a;hb=a5732450243817fbb9396a15675f7bddfb0dcb87;hp=74709cc1c29419345741bfb3f8fd7099bb60db17;hpb=d3e2621bf95b7378c166a5f1e7fd4f39bca5cfc2;p=util-vserver.git diff --git a/util-vserver/scripts/vserver b/util-vserver/scripts/vserver index 74709cc..27bc37d 100755 --- a/util-vserver/scripts/vserver +++ b/util-vserver/scripts/vserver @@ -112,25 +112,29 @@ function restart() set +e -tmp=$(getopt -o +sv --long help,debug,version,sync,verbose,silent -n "$0" -- "$@") || exit 1 +OPTIONS_ORIG=( "$@" ) +tmp=$(getopt -o +sv --long nonamespace,--nonamespace,help,debug,version,sync,verbose,silent -n "$0" -- "$@") || exit 1 eval set -- "$tmp" OPTION_FORCE_SYNC= OPTION_VERBOSE= OPTION_SILENT= OPTION_DEBUG= +OPTION_NONAMESPACE= while true; do case "$1" in --help) showHelp $0 ;; --version) showVersion ;; - --debug) OPTION_DEBUG=$1; set -x; shift;; - -v|--verbose) OPTION_VERBOSE=$1; shift;; - -s|--sync) OPTION_FORCE_SYNC=$1; shift;; - --silent) OPTION_SILENT=$1; shift;; + --debug) OPTION_DEBUG=$1; set -x;; + -v|--verbose) OPTION_VERBOSE=$1;; + -s|--sync) OPTION_FORCE_SYNC=$1;; + --silent) OPTION_SILENT=$1;; + ----nonamespace)OPTION_NONAMESPACE=$1;; --) shift; break;; *) echo $"vserver: internal error; arg=='$1'"; exit 1;; esac + shift done OPTION_ALL=( $OPTION_SILENT $OPTION_VERBOSE $OPTION_DEBUG ) @@ -174,6 +178,9 @@ else VSERVER_NAME=$(basename "$VSERVER_DIR") fi +test "$2" != start -o "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \ + exec $_VNAMESPACE --new -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}" + . $PKGLIBDIR/vserver.functions case "$2" in start|stop)