diff options
Diffstat (limited to 'TAO/orbsvcs/tests/start_services')
-rwxr-xr-x | TAO/orbsvcs/tests/start_services | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/start_services b/TAO/orbsvcs/tests/start_services new file mode 100755 index 00000000000..5e01e8b85cd --- /dev/null +++ b/TAO/orbsvcs/tests/start_services @@ -0,0 +1,112 @@ +#! /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'`' |