#! /bin/sh # $Id$ # = TITLE # Restart script # # = AUTHOR # Michael Kircher (mk1@cs.wustl.edu) # # = DESCRIPTION # This script restarts the Naming, Scheduling and Event Service, # if "clean" is specified as a parameter, then the old # services are only killed and not restarted. usage="Usage: $0 [-s, to start Scheduling Service] | [clean]" #### ps options are platform-specific. if [ `uname -s` = 'SunOS' ]; then ps_opts=-ef else ps_opts=auxw fi #### Get the user name if [ "$LOGNAME" ]; then #### LOGNAME is preserved across su login=$LOGNAME else #### whoami returns the users login, which changes across su login=`whoami` fi #### Set TAO_ROOT, if it wasn't set. if [ ! "$TAO_ROOT" ]; then if [ "$ACE_ROOT" ]; then TAO_ROOT=$ACE_ROOT/TAO else echo $0: you must set ACE_ROOT or TAO_ROOT! exit 1 fi fi #### Set up a signal handler. trap "/bin/rm -f /tmp/pids$login" 0 1 2 3 15 if [ -s /tmp/nameservicepid_$login ]; then echo // Killing the old services kill `cat /tmp/nameservicepid_$login` /bin/rm /tmp/nameserviceior_$login /tmp/nameservicepid_$login fi ps $ps_opts | grep Service | grep $login | grep -v grep | cut -c10-17 > /tmp/pids$login if [ -s /tmp/pids$login ]; then pids=`cat /tmp/pids$login` kill $pids fi start_scheduling_service=0 if [ "$1" ]; then #### Stop here if "start_services clean" was called case $1 in '-?' ) echo $usage; exit 0 ;; clean ) exit 0 ;; -s ) start_scheduling_service=1 ;; esac fi echo // Initializing the log file echo // Logfile for the script which startes Name and Event Service > /tmp/logfile_$login cd $TAO_ROOT/orbsvcs/Naming_Service echo $ ./Naming_Service \ -o /tmp/nameserviceior_$login \ -p /tmp/nameservicepid_$login >> /tmp/logfile_$login ./Naming_Service \ -o /tmp/nameserviceior_$login \ -p /tmp/nameservicepid_$login > /tmp/logfile_Naming_Service_$login 2>&1 & sleep 8 IOR=`cat /tmp/nameserviceior_$login` echo // The IOR of the Naming Service: $IOR echo // Started Naming Service on port $nameserviceport if [ $start_scheduling_service -eq 1 ]; then cd $TAO_ROOT/orbsvcs/Scheduling_Service echo $ ./Scheduling_Service -ORBInitRef NameService=$IOR >> /tmp/logfile_$login ./Scheduling_Service -ORBInitRef NameService=$IOR > /tmp/logfile_Scheduling_Service_$login 2>&1 & sleep 5 echo // Started Scheduling Service on port $schedulerserviceport fi cd $TAO_ROOT/orbsvcs/Event_Service echo $ ./Event_Service -ORBInitRef NameService=$IOR >> /tmp/logfile_$login ./Event_Service -ORBInitRef NameService=$IOR > /tmp/logfile_Event_Service_$login 2>&1 & echo // Started Event Service on port $eventserviceport echo "// Enjoy the use ;-)" ps $ps_opts | grep Service | grep -v grep echo echo Note: if you will be running an application that uses the Naming Service, echo you might want to set the NameService environment variable, like this: echo 't/csh: % setenv NameServiceIOR `cat /tmp/nameserviceior_'$login'`' echo 'bash: $ export NameServiceIOR=`cat /tmp/nameserviceior_'$login'`'