#!/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