📄 slpd.all_init
字号:
#!/bin/bash## /etc/rc.d/init.d/slpd## slpd Start/Stop the OpenSLP SA daemon (slpd).## chkconfig: 345 13 87# description: OpenSLP daemon for the Service Location Protocol# processname: slpd# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org># Modified for RHS Linux by Damien Neil# Modified for COL by Raymund Will, <ray@lst.de># Modified for OpenSLP by Matt Peterson <mpeterson@calderasystems.com># Modified to be distribution agnostic by Bart Whiteley <bart@caldera.com>#//////////////////////////////////////////////////## Does nothing if a route exists that supports # # multicast traffic. If no routes supporting ## multicast traffic exists, the function tries to ## add one. A 0 is returned on success and a 1 ## on failure. One parameter must be passed in. ## This variable determins verbosity. If parameter ## is non-zero debugging will appear ##//////////////////////////////////////////////////#multicast_route_set() { PING_OPTIONS_1='-c1 -w1' PING_OPTIONS_2='-c1 -i1' MULTICAST_ADDRESS='239.255.255.253' PING_ERROR_NO_ROUTE='unreachable' MSG_FAILED_TO_FIND='Failed to Detect Multicast Route' MSG_SUCCESS_ON_FIND='Multicast Route Enabled' MSG_ADDING_ROUTE='Attempting to Add Multicast Route ...' MSG_FAILED_TO_ADD=' FAILED - Route NOT Added.' MSG_SUCCES_ON_ADD=' SUCCESS - Route Added.' CMD_GET_INTERFACE="netstat -i | awk 'BEGIN{}(NR>2)&&(!/^lo*/){print \$1}'" CMD_ADD_ROUTE="route add -net 224.0.0.0 netmask 240.0.0.0" err_unreachable_found=`ping $PING_OPTIONS_1 $MULTICAST_ADDRESS 2>$1 1>/dev/null` if [ $? = 2 ]; then err_unreachable_found=`ping $PING_OPTIONS_2 $MULTICAST_ADDRESS 2>$1 1>/dev/null` fi #If errors, add route. Otherwise, do nothing if [ "$err_unreachable_found" ]; then if [ $1 != 0 ]; then echo $MSG_FAILED_TO_FIND echo $MSG_ADDING_ROUTE fi $CMD_ADD_ROUTE `eval $CMD_GET_INTERFACE` > /dev/null 2>&1 retval=$? if [ $1 != 0 ]; then if [ $retval = 0 ]; then echo $MSG_SUCCES_ON_ADD else echo $MSG_FAILED_TO_ADD fi fi else if [ $1 != 0 ]; then echo -n $MSG_SUCCESS_ON_FIND fi retval=0 fi return $retval}NAME=slpdDAEMON=/usr/sbin/$NAME SUSE=0# Change to rootOLDDIR=`pwd`cd /# Source function library.if [ -f /etc/rc.d/init.d/functions ]; then . /etc/rc.d/init.d/functionselse SUSE=1fi test -x $DAEMON || exit 0if [ ! "$SVIlock" = "" ]; then unset LOCKelse LOCK=/var/lock/subsys/slpdfiRETVAL=0## See how we were called.#case "$1" in start) # Check if atd is already running # RH style if [ $SUSE -eq 0 ] && [ ! "$LOCK" = "" ] && [ -f $LOCK ]; then exit 0 fi # Caldera Style if [ ! "$SVIlock" = "" ] && [ -f $SVIlock ]; then exit 0 fi echo -n 'Starting slpd: ' multicast_route_set 1 multicast_enabled=$? if [ "$multicast_enabled" != "0" ] ; then echo "Failure: No Route Available for Multicast Traffic" exit 1 fi if [ $SUSE -eq 0 ]; then if [ -x /sbin/ssd ]; then ssd -S -n $NAME -x $DAEMON -- $OPTIONS [ ! "$SVIlock" = "" ] && touch $SVIlock else daemon $DAEMON RETVAL=$? fi else startproc $DAEMON $OPTIONS fi [ $SUSE -eq 0 ] && [ ! "$LOCK" = "" ] && [ $RETVAL -eq 0 ] && touch $LOCK echo ;; stop) echo -n 'Stopping slpd: ' if [ -x /sbin/ssd ]; then ssd -K -p /var/run/$NAME.pid -n $NAME [ ! "$SVIlock" = "" ] && rm -f $SVIlock else killproc $DAEMON RETVAL=$? fi [ ! "$LOCK" = "" ] && [ $RETVAL -eq 0 ] && rm -f $LOCK echo ;; reload|restart) cd $OLDDIR $0 stop $0 start cd / RETVAL=$? ;; status) status /usr/sbin/slpd RETVAL=$? ;; *) echo "Usage: /etc/rc.d/init.d/slpd {start|stop|restart|reload|status}" exit 1esacexit $RETVAL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -