summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/start_services
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/start_services')
-rwxr-xr-xTAO/orbsvcs/tests/start_services112
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'`'