#!/bin/bash
#
# kuwatcher helper function: kills process(es) in a safe way
#
# __copy1__
# __copy2__
#
CMD=${CMD:-"$0"}
DEBUG=${DEBUG:-"false"}

[ $# == 0 ] && {
	echo "usage: $0 pid(s)" >&2
	exit 255
}

lowlimit=700
pslist=

for pid in $*
do
	pdesc=`ps -opid,ppid,args $pid | sed -e '1d'`

	if [ $pid -gt $lowlimit ]
	then
		ps $pid >/dev/null && {
			logger -s -t $CMD "killing (-HUP): '$pdesc'"
			kill -HUP $pid; sleep 2
		}
		ps $pid >/dev/null && {
			logger -s -t $CMD "killing (2nd try): '$pdesc'"
			kill $pid; sleep 2
		}
		ps $pid >/dev/null && {
			logger -s -t $CMD "killing (-9): '$pdesc'"
			kill -9 $pid; sleep 2
		}
		ps $pid >/dev/null && {
			logger -s -t $CMD "warning, process already active: '$pdesc'"
		}
	else
		logger -s -t $CMD "warning: NOT killing '$pdesc' (pid below $lowlimit)"
	fi
done

exit 0
