home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / netmgt / root / etc / init.d / snmp / snmp~
Text File  |  1998-08-19  |  3KB  |  130 lines

  1. #ident    "@(#)snmp    1.2"
  2. #ident    "$Header: /SRCS/esmp/usr/src/nw/cmd/cmd-nm/usr.sbin/snmp/snmp/snmp,v 1.24 1995/10/12 18:29:01 rbell Exp $"
  3. #    Copyright (c) 1990, 1991, 1992, 1993 Novell, Inc. All Rights Reserved.
  4. #    Copyright (c) 1984, 1985, 1986, 1987, 1988, 1989, 1990 Novell, Inc. All Rights Reserved.
  5. #      All Rights Reserved
  6. #
  7. #    STREAMware TCP
  8. #    Copyright 1987, 1993 Lachman Technology, Inc.
  9. #    All Rights Reserved.
  10. #
  11. #
  12. # Copyrighted as an unpublished work.
  13. # (c) Copyright 1989 INTERACTIVE Systems Corporation
  14. # All rights reserved.
  15. #
  16.  
  17. #      @(#)snmp    1.2 INTERACTIVE SNMP  source
  18.  
  19. if [ -z "$LC_ALL" -a -z "$LC_MESSAGES" ]
  20. then
  21.     if [ -z "$LANG" ]
  22.     then
  23.         LNG=`defadm locale LANG 2>/dev/null`
  24.         if [ "$?" != 0 ]
  25.         then LANG=C
  26.         else eval $LNG
  27.         fi
  28.     fi
  29.     export LANG 
  30. fi
  31. LABEL="UX:$0"
  32. CAT=uxrc
  33. USAGE="$0 [ start | stop ]"
  34.  
  35. #
  36. # SNMP start/stop script
  37. #
  38.  
  39. PATH=/etc:/bin:/usr/bin:/usr/sbin
  40.  
  41. case "$1" in
  42. 'start')
  43.     if [ -z "$_AUTOBOOT" ]
  44.     then
  45.         #This is not autoboot.
  46.         psout="`ps -e | egrep '(in\.snmpd|hostmibd)' 2>&1`"
  47.         psout2="`ps -e | egrep nwumpsd 2>&1`"
  48.         psout3="`ps -e | egrep npsd 2>&1`"
  49.     
  50.         case "$psout" in
  51.         *in.snmpd* )
  52.             pfmt -l $LABEL -s info -g $CAT:138 "SNMP already running.  SNMP start aborted.\n"
  53.             exit 1
  54.             ;;
  55.  
  56.         * )
  57.         # If there is no "in.snmpd" in "$psout", then
  58.         # "$psout" is either the null string or contains one or more
  59.         # lines with the command name hostmibd.  The loop covers the
  60.         # pathological case that more than one hostmibd is running.
  61.  
  62.             if [ "$psout" ]
  63.             then
  64.                 set -- $psout
  65.                 if [ $? -eq 0 ]
  66.                 then
  67.                     while [ $# -gt 0 ]
  68.                     do
  69.                         kill -9 $1
  70.                         shift 6
  71.                     done
  72.                 fi
  73.             fi
  74.  
  75.             LC_MESSAGES="$LANG" in.snmpd        
  76.             LC_MESSAGES="$LANG" hostmibd 1>/dev/null 2>/dev/null 
  77.  
  78.         # Let's check if npsd is running, then decide if we want to
  79.         # run nwumpsd.
  80.             if [ "$psout3" -a -z "$psout2" ]
  81.             then  
  82.                 checknwcm="`LC_MESSAGES="$LANG" /usr/sbin/nwcm -v nwumps`"
  83.                 if [ "$checknwcm" = "nwumps=on" ]
  84.                 then
  85.                     LC_MESSAGES="$LANG" nwumpsd 1>/dev/null 2>/dev/null 
  86.                 fi
  87.             fi
  88.  
  89.         esac
  90.     else
  91.         # This is autoboot.
  92.         LC_MESSAGES="$LANG" in.snmpd
  93.         LC_MESSAGES="$LANG" hostmibd 1>/dev/null 2>/dev/null &
  94.     fi
  95.  
  96.     ;;
  97. 'stop')
  98.     # Let's check if nwumd is running, then decide if we want to
  99.     # stop Network Management.
  100.  
  101.     psout4="`ps -e | egrep nwumd`"
  102.  
  103.     if [ -n "$psout4" ]
  104.     then  
  105.     pfmt -l $LABEL -s info -g $CAT:196 "You must take down the NetWare Server before stopping SNMP.  SNMP stop aborted.\n"
  106.     exit 1
  107.     fi
  108.  
  109.     if [ -z "$_AUTOKILL" ]    
  110.     then
  111.         kill -9 `/usr/bin/ps -e | /usr/bin/sed -n \
  112.             -e'/ hostmibd$/s/[^0-9 \t].*//p' \
  113.             -e'/ nwumpsd$/s/[^0-9 \t].*//p' \
  114.             -e'/ in\.snmpd$/s/[^0-9 \t].*//p'` 2>/dev/null
  115.         exec rm -rf /tmp/snmpd.pid    2>/dev/null
  116.     else
  117.         exec rm -rf /tmp/snmpd.pid    2>/dev/null
  118.     fi
  119.     ;;
  120.  
  121. *)
  122.     pfmt -l $LABEL -s action -g $CAT:4 "Usage: %s\n" "$USAGE"
  123.     exit 1
  124.     ;;
  125. esac
  126.  
  127. exit 0
  128.  
  129.  
  130.