#!/usr/bin/env bash # $Id: mkill,v 1.2 2010/02/22 10:53:00 friedman Exp $ fixup_pattern() { arg=("$@") declare -i last=${#arg[@]}-1 case ${arg[$last]} in *[][*^/]* ) : ;; * ) arg[$last]="^([^ ]*/|)${arg[$last]}(\$| )" ;; esac } main() { signal= case $1 in -* ) signal=$1 ; shift ;; esac uid=${UID-`id -u`} case $uid in 0 ) : ;; * ) set fnord -u $uid "$@" ; shift ;; esac fixup_pattern "$@" set fnord "${arg[@]}" shift pgrep -fl "$@" pkill $signal -f "$@" } main "$@" # eof