1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
#!/bin/sh
### BEGIN INIT INFO
# Provides: net-acct
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: User-mode IP accounting daemon
### END INIT INFO
#
# /etc/init.d/net-acct start/stop/restart nacctd
#
# See /usr/share/doc/net-acct/ for information
#
DAEMON=/usr/sbin/nacctd
NAME=nacctd
DESC="User-mode IP accounting daemon"
PIDFILE=/var/run/nacctd.pid
CONFFILE=/etc/naccttab
test -r "$CONFFILE" || exit 0
test -x "$DAEMON" || exit 0
# Function used to determine if the program is alive
is_alive () {
ret=1
if [ -r "$PIDFILE" ] ; then
pid=`cat $PIDFILE`
if [ -e /proc/$pid ] ; then
procname=`/bin/ps h -p $pid -C ${DAEMON##*/}`
[ -n "$procname" ] && ret=0
fi
fi
return $ret
}
case "$1" in
start)
start-stop-daemon --start --verbose --exec "$DAEMON"
;;
stop)
start-stop-daemon --stop --verbose --pidfile "$PIDFILE"
;;
restart|force-reload|reload)
start-stop-daemon --stop --retry 5 --verbose --pidfile "$PIDFILE"
start-stop-daemon --start --verbose --exec "$DAEMON"
;;
status)
echo -n "Status of $DAEMON: "
if is_alive; then
echo "alive."
else
echo "dead."
exit 1
fi
;;
*)
echo "Usage: /etc/init.d/net-acct {start|stop|restart|status}"
exit 1
esac
exit 0
|