diff options
Diffstat (limited to 'usr.sbin/pim6sd/pim6stat')
-rwxr-xr-x | usr.sbin/pim6sd/pim6stat | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/usr.sbin/pim6sd/pim6stat b/usr.sbin/pim6sd/pim6stat new file mode 100755 index 0000000..667ee4a --- /dev/null +++ b/usr.sbin/pim6sd/pim6stat @@ -0,0 +1,89 @@ +#!/bin/sh + +# Copyright (c) 1999 WIDE Project. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. Neither the name of the project nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +# get options +while getopts "df:p:sw:" option +do + case $option in + d) + densemode="YES";; + f) + dumpfile="${OPTARG}";; + p) + pidfile="${OPTARG}";; + s) + statmode="YES";; + w) + waittime="${OPTARG}";; + *) # (error msg printed by getopts) + echo usage: pim6stat [-d][-f dumpfile][-p pidfile][-w waitsec] + exit 2;; + esac +done + +# set parameters +if [ X"${pidfile}" = X ]; then + if [ X"${densemode}" = X"YES" ]; then + pidfile=/var/run/pim6dd.pid + else + pidfile=/var/run/pim6sd.pid + fi +fi + +if [ X"${waittime}" = X ]; then + waittime=1 +fi + +if [ X"${statmode}" = X"YES" ]; then + signame=-INFO +else + signame=-USR1 +fi + +if [ X"${dumpfile}" = X ]; then + if [ X"${statmode}" = X"YES" ]; then + if [ X"${densemode}" = X"YES" ]; then + dumpfile=/var/run/pim6dd.stat + else + dumpfile=/var/run/pim6sd.stat + fi + else + if [ X"${densemode}" = X"YES" ]; then + dumpfile=/var/run/pim6dd.dump + else + dumpfile=/var/run/pim6sd.dump + fi + fi +fi + +# execution +kill ${signame} `cat ${pidfile}` +sleep ${waittime} +cat ${dumpfile} |