75 lines
1.5 KiB
Text
75 lines
1.5 KiB
Text
|
#!/bin/sh
|
||
|
#
|
||
|
# Created by: Mark Felder <feld@feld.me>
|
||
|
# $FreeBSD: head/net-mgmt/unifi/files/unifi.in 334865 2013-11-25 16:52:21Z feld $
|
||
|
#
|
||
|
|
||
|
# PROVIDE: unifi
|
||
|
# REQUIRE: LOGIN
|
||
|
# KEYWORD: shutdown
|
||
|
|
||
|
#
|
||
|
# Add the following line to /etc/rc.conf to enable `unifi':
|
||
|
#
|
||
|
# unifi_enable="YES"
|
||
|
|
||
|
. /etc/rc.subr
|
||
|
name=unifi
|
||
|
|
||
|
rcvar=unifi_enable
|
||
|
load_rc_config ${name}
|
||
|
|
||
|
: ${unifi_enable:=NO}
|
||
|
: ${unifi_user:=%%USERS%%}
|
||
|
: ${unifi_group:=%%GROUPS%%}
|
||
|
: ${unifi_chdir=%%JAVASHAREDIR%%/unifi}
|
||
|
|
||
|
command_interpreter=.
|
||
|
command="%%PREFIX%%/bin/java"
|
||
|
command_args="-Djava.awt.headless=true -Xmx1024M -jar lib/ace.jar"
|
||
|
start_cmd=start_cmd
|
||
|
start_precmd=start_precmd
|
||
|
stop_cmd=stop_cmd
|
||
|
status_cmd=status_cmd
|
||
|
pidfile="/var/run/${name}.pid"
|
||
|
|
||
|
procname=$(JAVAVM_DRYRUN=yes ${command} | fgrep JAVAVM_COMMAND)
|
||
|
|
||
|
start_precmd()
|
||
|
{
|
||
|
if [ ! -e /var/run/unifi ] ; then
|
||
|
install -d -o %%USERS%% -g %%GROUPS%% /var/run/unifi;
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
start_cmd()
|
||
|
{
|
||
|
check_startmsgs && echo "Starting ${name}."
|
||
|
cd ${unifi_chdir}
|
||
|
daemon -u %%USERS%% -f -p ${pidfile} ${command} ${command_args} start
|
||
|
}
|
||
|
|
||
|
stop_cmd()
|
||
|
{
|
||
|
check_startmsgs && echo "Stopping ${name}."
|
||
|
rc_pid=$(check_pidfile $pidfile $procname)
|
||
|
cd ${unifi_chdir}
|
||
|
${command} ${command_args} stop
|
||
|
wait_for_pids $rc_pid
|
||
|
}
|
||
|
|
||
|
status_cmd()
|
||
|
{
|
||
|
if [ -e ${pidfile} ] && $(pgrep -F ${pidfile} > /dev/null) ; then
|
||
|
mypid=$(cat ${pidfile})
|
||
|
fi
|
||
|
|
||
|
if [ ! ${mypid} = '' ]; then
|
||
|
echo "${name} is running with PID ${mypid}.";
|
||
|
else
|
||
|
echo "${name} not running?";
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
run_rc_command "$1"
|