diff options
Diffstat (limited to 'ACE/rpmbuild/ace-tao-init-suse/init.d/tao-rtevent')
-rwxr-xr-x | ACE/rpmbuild/ace-tao-init-suse/init.d/tao-rtevent | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/ACE/rpmbuild/ace-tao-init-suse/init.d/tao-rtevent b/ACE/rpmbuild/ace-tao-init-suse/init.d/tao-rtevent new file mode 100755 index 00000000000..b3e7ca7a2cc --- /dev/null +++ b/ACE/rpmbuild/ace-tao-init-suse/init.d/tao-rtevent @@ -0,0 +1,192 @@ +#!/bin/bash +# +# /etc/init.d/tao-rtevent +# and its symbolic link +# /(usr/)sbin/rctao-rtevent +# +# system startup script for service/daemon TAO-rtevent +# +# LSB compatible service control script; see http://www.linuxbase.org/spec/ +# +### BEGIN INIT INFO +# Provides: TAO-rtevent +# Required-Start: $syslog $remote_fs tao-cosnaming +# Should-Start: $time ypbind smtp +# Required-Stop: $syslog $remote_fs tao-cosnaming +# Should-Stop: $time ypbind smtp +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Starts and stops the TAO Trading Service. +# Description: Start tao-costrading, the TAO Trading Service. +### END INIT INFO + +# Check for missing binaries (stale symlinks should not happen) +# Note: Special treatment of stop for LSB conformance +TAO_RTEVENT_BIN=/usr/sbin/tao-rtevent + +test -x $TAO_RTEVENT_BIN || { echo "$TAO_RTEVENT_BIN not installed"; + if [ "$1" = "stop" ]; then exit 0; + else exit 5; fi; } + +# Check for existence of needed config file and read it +TAO_RTEVENT_CONFIG=/etc/tao/tao-rtevent + +test -r $TAO_RTEVENT_CONFIG || { echo "$TAO_RTEVENT_CONFIG not existing"; + if [ "$1" = "stop" ]; then exit 0; + else exit 6; fi; } + +# Read config +. $TAO_RTEVENT_CONFIG + +# Source LSB init functions +# providing start_daemon, killproc, pidofproc, +# log_success_msg, log_failure_msg and log_warning_msg. +# This is currently not used by UnitedLinux based distributions and +# not needed for init scripts for UnitedLinux only. If it is used, +# the functions from rc.status should not be sourced or used. +#. /lib/lsb/init-functions + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v be verbose in local rc status and clear it afterwards +# rc_status -v -r ditto and clear both the local and overall rc status +# rc_status -s display "skipped" and exit with status 3 +# rc_status -u display "unused" and exit with status 3 +# rc_failed set local and overall rc status to failed +# rc_failed <num> set local and overall rc status to <num> +# rc_reset clear both the local and overall rc status +# rc_exit exit appropriate to overall rc status +# rc_active checks whether a service is activated by symlinks +. /etc/rc.status + +# Reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - user had insufficient privileges +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signaling is not supported) are +# considered a success. +prog=tao-rtevent +svcname="TAO event service" +svcconf=/etc/tao/${prog}.conf +OPTIONS="$TAO_RTEVENT_INITREF $TAO_RTEVENT_DEBUGLEVEL $TAO_RTEVENT_LOGFILE" + +case "$1" in + start) + echo -n "Starting $svcname: " + ## Start daemon with startproc(8). If this fails + ## the return value is set appropriately by startproc. + /sbin/startproc $TAO_RTEVENT_BIN $OPTIONS -ORBSvcConf $svcconf -ORBDaemon + + # Remember status and be verbose + rc_status -v + ;; + stop) + echo -n "Shutting down $svcname: " + ## Stop daemon with killproc(8) and if this fails + ## killproc sets the return value according to LSB. + + /sbin/killproc -TERM $TAO_RTEVENT_BIN + + # Remember status and be verbose + rc_status -v + ;; + try-restart|condrestart) + ## Do a restart only if the service was active before. + ## Note: try-restart is now part of LSB (as of 1.9). + ## RH has a similar command named condrestart. + if test "$1" = "condrestart"; then + echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" + fi + $0 status + if test $? = 0; then + $0 restart + else + rc_reset # Not running is not a failure. + fi + # Remember status and be quiet + rc_status + ;; + restart) + ## Stop the service and regardless of whether it was + ## running or not, start it again. + $0 stop + $0 start + + # Remember status and be quiet + rc_status + ;; + force-reload) + ## Signal the daemon to reload its config. Most daemons + ## do this on signal 1 (SIGHUP). + ## If it does not support it, restart the service if it + ## is running. + + echo -n "Reloading $svcname " + ## if it supports it: + /sbin/killproc -HUP $TAO_RTEVENT_BIN + #touch /var/run/FOO.pid + rc_status -v + + ## Otherwise: + #$0 try-restart + #rc_status + ;; + reload) + ## Like force-reload, but if daemon does not support + ## signaling, do nothing (!) + + # If it supports signaling: + echo -n "Reloading $svcname " + /sbin/killproc -HUP $TAO_RTEVENT_BIN + #touch /var/run/FOO.pid + rc_status -v + + ## Otherwise if it does not support reload: + #rc_failed 3 + #rc_status -v + ;; + status) + echo -n "Checking for $svcname " + ## Check status with checkproc(8), if process is running + ## checkproc will return with exit status 0. + + # Return value is slightly different for the status command: + # 0 - service up and running + # 1 - service dead, but /var/run/ pid file exists + # 2 - service dead, but /var/lock/ lock file exists + # 3 - service not running (unused) + # 4 - service status unknown :-( + # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.) + + # NOTE: checkproc returns LSB compliant status values. + /sbin/checkproc $TAO_RTEVENT_BIN + # NOTE: rc_status knows that we called this init script with + # "status" option and adapts its messages accordingly. + rc_status -v + ;; + probe) + ## Optional: Probe for the necessity of a reload, print out the + ## argument to this init script which is required for a reload. + ## Note: probe is not (yet) part of LSB (as of 1.9) + + test $svcconf -nt /var/run/tao-rtevent.pid && echo reload + ;; + *) + echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" + exit 1 + ;; +esac +rc_exit |