snmp程序的控制shell脚本

2023-08-09  本文已影响0人  雨景江水

一. 该shell路径:/etc/init.d/snmpd

!/bin/sh

PROGNAME="snmpd"
PROG="/usr/sbin/PROGNAME" # 这个路径下的snmpd文件是由C++编译后得到的一个二进制可执行文件 LOCK_FILE="/var/lock/subsys/PROGNAME"

start() {
pid=(pidofPROGNAME) #拿到进程id
[ pid ] && { echo "PROGNAME pid is $pid"
return 0
}

$PROG -LS0-6d -Lf /dev/null -p /var/run/snmpd.pid &               # 查看var目录的作用
usleep 200000

count=100
while [ $count -ge 0 ]
do
    pid=$(pidof $PROGNAME)
    [ $pid ] && break
    usleep 100000
    let count--
done

if [ $pid ]; then
    touch $LOCK_FILE                          # 文件锁
    return 0
fi

return -1

}

stop() {
rm -f LOCK_FILE kill -9(pidof PROGNAME) count=20 while [count -ge 0 ]
do
pid=(pidofPROGNAME)
[ pid ] || break usleep 500000 kill -9(pidof PROGNAME) let count-- done return?
}

reload() {
kill -1 (pidofPROGNAME)
return $?
}

case "1" in start) start ;; stop) stop ;; restart) stop start ;; reload) reload ;; *) echo"Usage: $0 {start|stop|restart|reload}"
exit 1
esac

二.

  1. 执行以上shell脚本
    /etc/init.d/snmpd start >/dev/null 2>&1
  1. 重启服务
    /etc/init.d/snmpd restart
上一篇下一篇

猜你喜欢

热点阅读