mirror of
https://git.freebsd.org/ports.git
synced 2025-05-31 18:36:28 -04:00
43 lines
1,014 B
Bash
43 lines
1,014 B
Bash
#!/bin/sh
|
|
|
|
# PROVIDE: swatchdog
|
|
# REQUIRE: DAEMON
|
|
# KEYWORD: shutdown
|
|
#
|
|
# To enable multiple instances of swatchdog, add lines like below to
|
|
# /etc/rc.conf.
|
|
#
|
|
# swatchdog_enable="YES"
|
|
# swatchdog_rules="1 2 3"
|
|
# swatchdog_1_flags="--config-file=/rc --tail-file=/log --daemon --pid-file=/pid"
|
|
# swatchdog_1_user="nobody"
|
|
# swatchdog_1_chdir="/var/tmp"
|
|
# swatchdog_1_pidfile="/pid"
|
|
# swatchdog_2_flags="blah, blah"
|
|
# swatchdog_3_flags="blah, blah"
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=swatchdog
|
|
rcvar=swatchdog_enable
|
|
|
|
load_rc_config ${name}
|
|
|
|
# set some defaults
|
|
: ${swatchdog_enable:="NO"}
|
|
|
|
command=%%PREFIX%%/bin/swatchdog
|
|
|
|
if [ -n "${swatchdog_rules}" ]; then
|
|
for i in ${swatchdog_rules}; do
|
|
eval swatchdog_flags=\$swatchdog_${i}_flags
|
|
len=`echo "0${command} ${swatchdog_flags} (perl)0" | wc -c`
|
|
if [ $len -ge 255 ];then
|
|
procname=%%LOCALBASE%%/bin/perl
|
|
fi
|
|
eval swatchdog_user=\$swatchdog_${i}_user
|
|
eval swatchdog_chdir=\$swatchdog_${i}_chdir
|
|
eval pidfile=\$swatchdog_${i}_pidfile
|
|
run_rc_command "$1"
|
|
done
|
|
fi
|