该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#!/bin/bash #表示下面的脚本是用bash编写的,必须调用bash程序对它解释执行)
# ucd-snmp init file for snmptrapd
#
# chkconfig: - 50 50 #启动或禁止特定服务,优先级从-50到50。
# description: Simple Network Management Protocol (SNMP) Trap Daemon #描述
#
# processname: /usr/sbin/snmptrapd
# config: /etc/snmp/snmptrapd.conf
# config: /usr/share/snmp/snmptrapd.conf
# pidfile: /var/run/snmptrapd.pid
#
# source function library
. /etc/init.d/functions #shell文件的路径
OPTIONS="-s -u /var/run/snmptrapd.pid"
RETVAL=0 定义变量RETVAL为0
prog="snmptrapd" 定义prog为“snmptrapd”
start() { start()函数
echo -n $"Starting $prog: " 打印Stopping echo –n表示光标不换行
daemon /usr/sbin/snmptrapd $OPTIONS 进程路径
RETVAL=$? 返回
echo
touch /var/lock/subsys/snmptrapd
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killproc /usr/sbin/snmptrapd
RETVAL=$? 把上一条命令的返回值赋值给RETVAL
echo
rm -f /var/lock/subsys/snmptrapd
return $RETVAL 显示RETVAL
}
reload(){
stop
start
}
restart(){ restart()函数,调用start和stop
stop
start
}
condrestart(){ $1为condrestartcondrestart
[ -e /var/lock/subsys/snmptrapd ] && restart
return 0
}
case "$1" in 用$1的值依次与各模式字符串进行比较,如果发现匹配,就执行命令,直到遇到两个分号为止
start) $1为start
start 就执行start命令
;; 退出
stop) $1为stop
stop 就执行stop命令
;; 退出
restart) $1为restart
restart 就执行restart命令
;; 退出
reload) reload()函数,调用restart
reload 就执行reload命令
;; 退出
condrestart) $1为condrestart
condrestart 执行condrestart命令
;; 退出
status) $1为status
status snmptrapd
RETVAL=$?
;; 退出
*) 前面条件都不满足,就运行以下命令
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
RETVAL=1
esac case语句结束
exit $RETVAL