#!/bin/sh
#****************************************************************
# *	Copyright (C) 2003, Wistron Inc.  All Rights Reserved.
# *	File Name:		pegasusdagent
# *	Author:			Jerry Zhou
# *	Create Time: 	2003-08-15 11:35:14
# *	Last Update: 	2003-08-15 11:35:14
#****************************************************************
proc_list="cimserver"
pega_server=/etc/init.d/cim_server
lock_file=/var/lock/subsys/pegasusd
prepid=nonepid

keep_proc_run()
{
	for i in $proc_list
	do
		if ps -A | grep $i 1>/dev/null 2>/dev/null ; then
			continue
		else
			if [ -e $pega_server ] ; then
#####				$pega_server stop 1>/dev/null 2>/dev/null
				/usr/local/share/pegasus/bin/cimserver -s 1>/dev/null 2>/dev/null
				sleep 2
				$pega_server start 1>/dev/null 2>/dev/null
			fi
			break
		fi
	done
}

if [ -e $lock_file ] ; then
	prepid=`cat $lock_file`
	if [ -z prepid ] ; then
		prepid=nonepid
	fi
fi
if ps -A|grep $prepid 1>/dev/null 2>/dev/null ; then
	exit 0
else
	echo $$ > $lock_file 2>/dev/null
	while true
	do
		keep_proc_run
		sleep 30
	done
fi
exit 0