#! /bin/sh

case $1 in
    -*) signal=$1; shift;;
esac
if [ $# = 0 ]; then
    echo "Usage: $0 [-<signal>] <process>"
    echo 'Kills the process "tdeinit: <process> with signal <signal>"'
	echo "if <signal> is not specified, it defaults to SIGTERM,"
	echo "see kill -l for a list of possible Q_SIGNALS"
else
    list=$(ps auwx | grep $USER | awk "/[k]deinit: $1/ {print \$2}")
    if test -z "$list"; then
        # on newer Linux kernels (>= 2.6.10) KDE is able to use 
        # prctl(PR_SET_NAME) to change the process name...
        list=$(ps auwx | grep $USER | awk "/\[tdeinit\] $1/ {print \$2}")
    fi
    if test -z "$list"; then
        # with KDE 3.4 we changed the view again...
        list=$(ps auwx | grep $USER | awk "/$1 \[tdeinit\]/ {print \$2}")
    fi
    if test -n "$list"; then 
        kill $signal $list
    else
        echo 'No process killed'
        exit 1
    fi
fi
