freebsd-ports/sysutils/daemontools/files/svscan.sh.sample
Peter Pentchev 51aa799051 Tweak the startup script so that it is *really* a FreeBSD startup
script; that is, add 'start|stop' argument processing and
the ability to actually stop the script.
Bump PORTREVISION to indicate a functionality change - or rather,
to indicate a change that actually makes this a FreeBSD port..

Final push by:	Dan Langille <dan@langille.org> in a somewhat
		unrelated e-mail exchange
Obtained from:	a svscan SysV init script that I somehow managed
		to lose the source and URL for :(
2002-01-28 19:37:14 +00:00

62 lines
1.7 KiB
Bash

#!/bin/sh
if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
echo "$0: Cannot determine the PREFIX" >&2
exit 1
fi
# It would really, really be a Good Thing(tm)
# for you to enable some of the below
# control variables and the apropriate ulimit.
# These are only examples.
# Furthermore, you should think about additional
# limits you might need.
# Or, check login.conf(5) for a suitable
# alternative
#
# I really do suggest you use /var/service as your
# service spool directory. Check hier(7) for
# reasons.
# 10 Mb
#MINSEGMENT=10240
# 20 Mb
#MAXSEGMENT=20480
# 10 Mb
#MAXFILESIZE=10240
# 100
#MAXFD=100
# 40
#MAXCHILD=40
# ulimits
#ulimit -d ${MINSEGMENT}
#ulimit -f ${MAXFILESIZE}
#ulimit -m ${MAXSEGMENT}
#ulimit -n ${MAXFD}
#ulimit -s ${MINSEGMENT}
#ulimit -u ${MAXCHILD}
KILLALL=/usr/bin/killall
SVC=${PREFIX}/bin/svc
SVPROC=svscan
SVSCAN=$PREFIX/bin/svscan
READPROCTITLE=$PREFIX/bin/readproctitle
SVDIR=/var/service
case "$1" in
start)
echo -n " svscan"
exec env PATH=$PREFIX/sbin:$PREFIX/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH /bin/csh -cf "$SVSCAN $SVDIR |& $READPROCTITLE service errors: ................................................................................................................................................................................................................................................................................................................................................................................................................ &" > /dev/null
;;
stop)
echo -n " svscan: "
$KILLALL $SVPROC
$SVC -dx $SVDIR/* $SVDIR/*/log
;;
*)
echo "Usage: $0 start | stop"
;;
esac