#
# Script to stop the nominated overlay subhost
-[ $(id -u) = 0 ] || exec sudo $0 $@
-. $(dirname $(realpath $0))/functions XXX
+OVERLAYDIR="$(dirname $(realpath $0))"
+. $OVERLAYDIR/functions $*
-NAME="$1"
-
-[ -z "$NAME" ] && echo "Select subhost: $(list_running)" && exit 0
+subhost_name "$1"
+subhost_config
read USPID RSPID <<EOF
$(is_live $NAME)
EOF
-[ -z "$USPID" ] && echo "$NAME is snot running" >&2 && exit 1
+if [ -z "$USPID" ] ; then
+ [ -r /run/netns/$NAME ] && ip netns del $NAME
+ echo "$NAME is not running" >&2
+ exit 1
+fi
if [ -z "$RSPID" ] ; then
cat <<EOF >&2
exit 1
fi
-CHILDPIDS="$(nsenter -t $RSPID -p -m ps -hopid --ppid 1)"
-nsenter -t $RSPID -p -m kill $CHILDPIDS
+START="$(reverse "$START")"
+nsenter -t $RSPID -p -m -i -u \
+ ip netns exec $NAME chroot $(realpath $LIVE) \
+ /bin/sh -c "for srv in $START ; do service \$srv stop ; done"
+
+for p in $RSPID $USPID ; do
+ for S in 15 1 2 9 ; do
+ ps -hocmd $p || break
+ kill -$S $p
+ done
+done
+
+[ -r /run/netns/$NAME ] && ip netns del $NAME
+
+true