#!/bin/sh

PID_FILE=/var/run/iMultiMouse.pid

CheckProc() {
    proc=/proc/$1/cmdline
    if [ -f $proc ]
    then
	if ! grep -q -i imultimoused $proc
	then
	    echo "but isn't imultimoused."
	    echo "Remove lock file."
	    rm -f $PID_FILE
	else 
	    if ! kill $1
	    then
		echo
		echo -n "Can't kill imultimoused."
		exit
	    fi
	    echo "kill imultimoused."
	    if [ "-kill" != "$1" ]; then
		echo "OK, restart after 1 seconds."
		sleep 1
	    fi
	fi
    else
	echo "remove lock file."
	rm -f $PID_FILE
    fi
}

CheckPS() {
    pid=`ps ax | awk '/imultimoused/ && !/awk/ {print $1}'`
    if [ "$pid" = "$1" ]
    then
	if ! kill $1
	then
	    echo
	    echo -n "Can't kill imultimoused."
	    exit
	fi
	echo "kill imultimoused."
	if [ "-kill" != "$1" ]; then
	    echo "OK, restart after 1 seconds."
	    sleep 1
	fi
    else
	echo "but isn't imultimoused."
	echo "Remove lock file."
	rm -f $PID_FILE
    fi
}

if [ -f $PID_FILE ]; then
    pid=`cat $PID_FILE`
    echo -n "$PID_FILE(PID=$pid) is exist, ... "
    case `uname -s` in
	Linux) CheckProc $pid ;;
	*) CheckPS $pid ;;
    esac
fi

if [ "-kill" != "$1" ]; then
    /usr/sbin/imultimoused $*
fi
