3 # userdel(8) wrapper for vservers
5 # Copyright (c) 2004 The Trustees of Princeton University (Trustees).
10 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
11 test -e "$UTIL_VSERVER_VARS" || {
12 echo "Can not find util-vserver installation; aborting..."
15 . "$UTIL_VSERVER_VARS"
24 [ "$1" == "--static" ] && { STATIC=yes; shift; }
27 # read config file to get context ID
28 CTX=`cat $__CONFDIR/$NAME/context`
31 [ -z "$STATIC" ] && userdel -r $NAME
33 # don't bother stopping gracefully, just kill all the processes
34 $_VKILL -c "$CTX" -s 15 -- -1
36 $_VKILL -c "$CTX" -s 9 -- -1
37 $_VATTRIBUTE --set --xid "$CTX" --flag ~persistent
38 $_NATTRIBUTE --set --nid "$CTX" --flag ~persistent
40 # unmount any directories in vserver that are mount points
41 for d in `sed -ne "s%^[^ ]* \($__DEFAULT_VSERVERDIR/$NAME/[^ ]*\) .*%\1%p" /proc/mounts`
43 # use echo -e to turn escaped whitespace back into regular chars
44 # be careful about embedded backquotes here (i think we're safe)
46 echo "unmounting $dir"
50 # remove vserver configuration directory
51 rm -rf /etc/vservers/$NAME
53 # remove vserver profile
54 rm -f /var/run/vservers/$NAME.ctx
57 if [ -d $__DEFAULT_VSERVERDIR/$NAME ] ; then
58 TMP=$(mktemp -d "$__DEFAULT_VSERVERDIR/.vtmp/$NAME.XXXXXX")
59 mv "$__DEFAULT_VSERVERDIR/$NAME" "$TMP"