#!/bin/zsh
#
# Find and kill all processes of passed user list.
[[ $# -eq 0 ]] &&
echo "Usage: $0 <user> [<user> [...]]" && return 1
pslist () {
pslist=$( ps -fu $user | grep -v STIME | awk '{print $2}' )
echo ${=pslist}
}
for sig in TERM HUP KILL; do
for user in $argv; do
echo "$sig:\t$user"
for proc in $(pslist); do
eval "kill -$sig $proc"
done
done
sleep 2
done