#Shellskript "killn"
#uncomment following line if kornshell
#typeset pid rest terminal name PS_CMD

PS_CMD='ps -e'

# ***** analyzing arguments *****

[ $# = 1 ] || set ""				# generate 
"usage:..."

case "$1" in

  -t) echo "\nTerminal: \c"
      read terminal || return 1
      [ "$terminal" ] || return 1
      [ "$terminal" = . ] && { terminal=; PS_CMD=ps; }

      $PS_CMD | grep " *[^ ]* $terminal " | more
      echo "\nName: \c"
      read name || return 1
      [ "$name" ] || return 1
      echo
      set "$terminal .* $name"
      ;;

  -n) $PS_CMD | more
      echo "\nName: \c"
      read name || return 1
      [ "$name" ] || return 1

      $PS_CMD | grep " $name\$" | more
      echo "\nTerminal: \c"
      read terminal || return 1
      [ "$terminal" = . ] && { terminal=; PS_CMD=ps; }

      set "$terminal .* $name"
      ;;

  -*|"")
      echo "usage: killn [-t | -n | command_name]"; return 
1;;
esac

# ***** start of "body" *****

$PS_CMD | grep " $1\$" |
   while :
   do
     read pid rest || break
     case "$pid" in
       [0-9]*) echo "killing: $pid $rest ..."
       kill -9 $pid;;
     esac
   done

