#!/bin/zsh
#
# Find and kill stray processes with $1 in their names:
[[ ! $# -eq 1 ]] && echo "Usage: $0 <pattern>" && return 1
if [[ -n ${(MS)ps_cmd%%-*} ]]; then
FIELD='$2'
else
FIELD='$3'
fi
pslist () {
alias command="$ps_cmd | egrep '$1' | grep -v egrep | awk '{print $FIELD}'"
pslist=$(command)
echo ${=pslist}
unalias command
}
for sig in TERM HUP KILL; do
for proc in $(pslist "$1")
eval "kill -$sig $proc"
done