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