summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-10-02 18:15:07 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2013-10-02 18:15:07 +0200
commit3ed5f40df866fe48b7f634e353e40b699899c1f8 (patch)
tree15bdf2eb81f6c11204f94a503372bae73d4bb189
parent7875e0f5d6f1939ab87c5b98a20b55bd06f2dada (diff)
downloadutil-vserver-netns-3ed5f40df866fe48b7f634e353e40b699899c1f8.tar.gz
util-vserver-netns-3ed5f40df866fe48b7f634e353e40b699899c1f8.tar.bz2
util-vserver-netns-3ed5f40df866fe48b7f634e353e40b699899c1f8.zip
vserver.netns: only delete the netns, if nothing is active in it1.4
-rwxr-xr-xvserver.netns14
1 files changed, 13 insertions, 1 deletions
diff --git a/vserver.netns b/vserver.netns
index 8d9e244..c507621 100755
--- a/vserver.netns
+++ b/vserver.netns
@@ -143,7 +143,19 @@ if [ -n "${_USE_NETNS}" ]; then
_processSingleNetwork remove "$net"
done
- $_IP netns delete "$VSERVER_NAME"
+ procs="$($_IP netns exec "$VSERVER_NAME" netstat -tulpenW | sed '1d;2d')"
+ if [ -n "$procs" ]; then
+ echo "There are still processes active in the network namespace:"
+ echo "$procs"
+ echo
+ echo "Deleting of the network namespace would produce a bad state."
+ echo "So we DO NOT delete the network namespace. You maybe want
+ echo "to kill the processes and execute the following commands:"
+ echo " $_IP netns exec \"$VSERVER_NAME\" netstat -tulpen"
+ echo " $_IP netns delete \"$VSERVER_NAME\""
+ else
+ $_IP netns delete "$VSERVER_NAME"
+ fi
fi
exit $ret