summaryrefslogtreecommitdiff
path: root/functions/exit.sh
diff options
context:
space:
mode:
Diffstat (limited to 'functions/exit.sh')
-rwxr-xr-xfunctions/exit.sh17
1 files changed, 13 insertions, 4 deletions
diff --git a/functions/exit.sh b/functions/exit.sh
index 928fd6e85..f29dbf790 100755
--- a/functions/exit.sh
+++ b/functions/exit.sh
@@ -20,10 +20,19 @@ Exit ()
# Always exit true in case we are not able to unmount
# (e.g. due to running processes in chroot from user customizations)
Echo_message "Begin unmounting filesystems..."
- for DIRECTORY in $(awk -v dir="${PWD}/chroot/" '$2 ~ dir { print $2 }' /proc/mounts | sort -r)
- do
- umount ${DIRECTORY} > /dev/null 2>&1 || true
- done
+
+ if [ -e /proc/mounts ]
+ then
+ for DIRECTORY in $(awk -v dir="${PWD}/chroot/" '$2 ~ dir { print $2 }' /proc/mounts | sort -r)
+ do
+ umount ${DIRECTORY} > /dev/null 2>&1 || true
+ done
+ else
+ for DIRECTORY in /dev/pts /dev /proc /selinux /sys
+ do
+ umount -f chroot/${DIRECTORY} > /dev/null 2>&1 || true
+ done
+ fi
return ${VALUE}
}