summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaércio de Sousa <laerciosousa@sme-mogidascruzes.sp.gov.br>2015-10-16 10:13:34 -0300
committerLaércio de Sousa <laerciosousa@sme-mogidascruzes.sp.gov.br>2015-10-16 10:13:34 -0300
commit01b894f10a8cd6dc7727debfbf8ed61f5486ac5a (patch)
treeec955a06022993f822daa4e7d2a48f06873356aa
parentf989b154ce549f936879f25a98a52e480622c3c1 (diff)
downloadlightdm-01b894f10a8cd6dc7727debfbf8ed61f5486ac5a.tar.gz
Rely on systemd-logind facilities (when available) to terminate all remaining guest user processes.
-rw-r--r--debian/guest-account.sh12
1 files changed, 8 insertions, 4 deletions
diff --git a/debian/guest-account.sh b/debian/guest-account.sh
index eacbd070..dc46e2f9 100644
--- a/debian/guest-account.sh
+++ b/debian/guest-account.sh
@@ -164,10 +164,14 @@ remove_account ()
fi
# kill all remaining processes
- while ps h -u ${GUEST_USER} >/dev/null; do
- killall -9 -u ${GUEST_USER} || true
- sleep 0.2;
- done
+ if [ -x /bin/loginctl ] || [ -x /usr/bin/loginctl ]; then
+ loginctl terminate-user ${GUEST_USER} >/dev/null || true
+ else
+ while ps h -u ${GUEST_USER} >/dev/null; do
+ killall -9 -u ${GUEST_USER} || true
+ sleep 0.2;
+ done
+ fi
umount ${GUEST_HOME} || umount -l ${GUEST_HOME} || true # BindFS mount
umount ${GUEST_HOME} || umount -l ${GUEST_HOME} || true # union mount