diff options
Diffstat (limited to 'www/webobjects/files/JavaMonitor.in')
-rw-r--r-- | www/webobjects/files/JavaMonitor.in | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/www/webobjects/files/JavaMonitor.in b/www/webobjects/files/JavaMonitor.in new file mode 100644 index 000000000000..a3b9cdcba75a --- /dev/null +++ b/www/webobjects/files/JavaMonitor.in @@ -0,0 +1,55 @@ +#!/bin/sh + +# $FreeBSD$ +# +# PROVIDE: JavaMonitor +# REQUIRE: NETWORKING SERVERS +# BEFORE: DAEMON +# KEYWORD: shutdown +# +# Define these JavaMonitor_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE + +. /etc/rc.subr + +name="JavaMonitor" +rcvar=JavaMonitor_enable + +load_rc_config "$name" +load_rc_config NEXT + +JavaMonitor_enable="${JavaMonitor_enable-"NO"}" +JavaMonitor_user="${JavaMonitor_user-%%USER%%}" +JavaMonitor_flags="${JavaMonitor_flags-"-WOPort 56789"}" +JavaMonitor_pidfile="${JavaMonitor_pidfile:-/var/run/webobjects/${name}.pid}" +JavaMonitor_logfile="${JavaMonitor_logfile:-/var/log/webobjects/${name}.log}" +NEXT_ROOT="${NEXT_ROOT-%%PREFIX%%/%%NEXT_ROOT%%}" + +pidfile="${JavaMonitor_pidfile}" +logfile="${JavaMonitor_logfile}" +runuser="${JavaMonitor_user}" + +procname=`basename %%JAVA%%` +log_args=">>${logfile} 2>&1 " +run_command="${NEXT_ROOT}/Library/WebObjects/JavaApplications/${name}.woa/${name}" +flags="-p ${pidfile} ${run_command} ${JavaMonitor_flags}" +command="/usr/sbin/daemon" +command_args="${log_args}" + +export NEXT_ROOT=${NEXT_ROOT} + +start_precmd="start_precmd" + +start_precmd() +{ + if [ "x${runuser}" = "xroot" ]; then + err 1 "You have to set ${name}_user to a non-root user for security reasons" + fi + touch ${pidfile} && chown ${runuser} ${pidfile} + touch ${logfile} && chown ${runuser} ${logfile} +} + +run_rc_command "$1" |