4e1f674c41
run_parts currently exists in useradd and userdel, this commit mirrors the functionality with groupadd and groupdel Hook for group{add,del} to include killing processes that have group membership that would no longer exist to avoid membership ID reuse.
27 lines
622 B
Bash
27 lines
622 B
Bash
#!/bin/sh
|
|
|
|
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
|
GROUPID=`awk -F: '$1 == "'"${SUBJECT}"'" { print $3 }' /etc/group`
|
|
|
|
if [ "${GROUPID}" = "" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
for status in /proc/*/status; do
|
|
# either this isn't a process or its already dead since expanding the list
|
|
[ -f "$status" ] || continue
|
|
|
|
tbuf=${status%/status}
|
|
pid=${tbuf#/proc/}
|
|
case "$pid" in
|
|
"$$") continue;;
|
|
[0-9]*) :;;
|
|
*) continue
|
|
esac
|
|
|
|
grep -q '^Groups:.*\b'"${GROUPID}"'\b.*' "/proc/$pid/status" || continue
|
|
|
|
kill -9 "$pid" || echo "cannot kill $pid" 1>&2
|
|
done
|
|
|