/contrib/bsnmp/snmpd/snmpd.sh

https://bitbucket.org/freebsd/freebsd-head/ · Shell · 85 lines · 46 code · 6 blank · 33 comment · 7 complexity · ad0d4a40bbceee0aa662c77d74e6c1fc MD5 · raw file

  1. #!/bin/sh
  2. #
  3. # Copyright (c) 2001-2003
  4. # Fraunhofer Institute for Open Communication Systems (FhG Fokus).
  5. # All rights reserved.
  6. #
  7. # Author: Harti Brandt <harti@freebsd.org>
  8. #
  9. # Redistribution and use in source and binary forms, with or without
  10. # modification, are permitted provided that the following conditions
  11. # are met:
  12. # 1. Redistributions of source code must retain the above copyright
  13. # notice, this list of conditions and the following disclaimer.
  14. # 2. Redistributions in binary form must reproduce the above copyright
  15. # notice, this list of conditions and the following disclaimer in the
  16. # documentation and/or other materials provided with the distribution.
  17. #
  18. # THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  19. # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  20. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21. # ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
  22. # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  23. # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  24. # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  25. # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  26. # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  27. # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  28. # SUCH DAMAGE.
  29. #
  30. # $Begemot: bsnmp/snmpd/snmpd.sh,v 1.3 2004/08/06 08:47:13 brandt Exp $
  31. #
  32. # SNMPd startup script
  33. #
  34. SNMPD=/usr/local/bin/bsnmpd
  35. PID=/var/run/snmpd.pid
  36. CONF=/etc/snmpd.conf
  37. case "$1" in
  38. start)
  39. if [ -r ${PID} ] ; then
  40. if kill -0 `cat ${PID}` ; then
  41. echo "snmpd already running -- pid `cat ${PID}`" >/dev/stderr
  42. exit 1
  43. fi
  44. rm -f ${PID}
  45. fi
  46. if ${SNMPD} -c ${CONF} -p ${PID} ; then
  47. echo "snmpd started"
  48. fi
  49. ;;
  50. stop)
  51. if [ -r ${PID} ] ; then
  52. if kill -0 `cat ${PID}` ; then
  53. if kill -15 `cat ${PID}` ; then
  54. echo "snmpd stopped"
  55. exit 0
  56. fi
  57. echo "cannot kill snmpd" >/dev/stderr
  58. exit 1
  59. fi
  60. echo "stale pid file -- removing" >/dev/stderr
  61. rm -f ${PID}
  62. exit 1
  63. fi
  64. echo "snmpd not running" >/dev/stderr
  65. ;;
  66. status)
  67. if [ ! -r ${PID} ] ; then
  68. echo "snmpd not running"
  69. elif kill -0 `cat ${PID}` ; then
  70. echo "snmpd pid `cat ${PID}`"
  71. else
  72. echo "stale pid file -- pid `cat ${PID}`"
  73. fi
  74. ;;
  75. *)
  76. echo "usage: `basename $0` {start|stop|status}"
  77. exit 1
  78. esac
  79. exit 0