#! /bin/sh
# lvs and rjb
# 2 May 1991
# Version 1.0
# usage: killp [-i] [-s] [-v] str1 [[str2]...]

INQ="f"
s="f"
c="t"
v="NOPROCESS"

while [ "$c" = "t" ] && [ $# -gt 0 ]
do
        case $1 in
                -i)		INQ="t";shift;;
                -s)     	s="t";shift;;
                -v)     	shift; v=$1; shift;;
		-is|-si) 	INQ="t";s="t";shift;;   
                *)		 c="f";;
        esac
done

if test $# -lt 1
then
  if [ "$s" = "f" ]
  then
     echo "usage: killp [-i] [-s] [-v] str1 [[str2]...]"
  fi
fi

systemv=0
for x
do
  if [ "$systemv" = "0" ]
  then  
      foo=`ps wwax | grep -i "$x" | grep -v "$v" | grep -v grep | grep -v killp | awk '{print $1" "$5}'`
  else
      foo=`/bin/ps -ef | grep -i "$x" | grep -v "$v" | grep -v grep | grep -v killp | awk '{print $2" "$8}'`
  fi
  if [ "$foo" = "" ]
  then
    if [ "$s" = "f" ]
    then
       echo "killp: $x not found"
    fi
  else
    i="0"
    for rec in `echo $foo`
    do
      if [ "$i" = "0" ]
      then
        num=$rec
        i="1"
      else
        name=$rec
        i="0"
	if [ "$INQ" = "t" ]
	then
  	  answer=""
	  while [ "$answer" = "" ]
	  do
	    echo -n "Kill $num $name ? [y|n] "
	    read answer
	    case "$answer" in
	      y* )
	         echo killing $num $name
		 kill -9 $num;;
    	      n* )
        	 break;;
	      * )
        	 echo "Enter \"y\" or \"n\""
          	 answer="";;
	     esac
	  done
	else
          echo killing "$num $name ($x)"
          kill -9 $num
	fi
      fi  
    done
  fi
  shift
done


