⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 start_services

📁 这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用于网络游戏医学图像网关的高qos要求.更详细的内容可阅读相应的材料
💻
字号:
#! /bin/sh
# start_services,v 1.12 1999/12/09 20:23:59 levine Exp

# = 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'`'

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -