76 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: isso
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# isso_enable="YES"
# isso_bin="/usr/local/bin/isso"
# isso_config="/usr/local/etc/isso.conf"
# isso_user="www"
#
. /etc/rc.subr
name=isso
rcvar=isso_enable
desc="isso commenting service"
load_rc_config ${name}
: ${isso_enable:=NO}
: ${isso_bin=/usr/local/bin/isso}
: ${isso_config=/usr/local/etc/isso.conf}
: ${isso_user=www}
logfile=/var/log/isso.log
pidfile=/var/run/isso.pid
command="${isso_bin} -c ${isso_config} run"
start_cmd=isso_start
status_cmd=isso_status
stop_cmd=isso_stop
procname=/usr/sbin/daemon
isso_start()
{
if [ -f ${pidfile} ]; then
echo "isso is already running (pid=$(cat ${pidfile}))"
return 1
fi
export USER=${isso_user}
export HOME=$(echo ~${isso_user})
touch ${logfile}
chmod 640 ${logfile}
${procname} -P ${pidfile} -u ${isso_user} ${command} >>${logfile} 2>&1
if [ -f ${pidfile} ]; then
echo "started isso (pid=$(cat ${pidfile}))"
else
echo "failed to start isso"
fi
}
isso_status()
{
if [ -f ${pidfile} ]; then
echo "isso is running (pid=$(cat ${pidfile}))"
else
echo "isso is not running"
return 1
fi
}
isso_stop()
{
if [ -f ${pidfile} ]; then
local pid=$(cat $pidfile)
echo "stopping isso (pid=$pid)"
kill -- -$pid
else
echo "isso is not running"
fi
}
run_rc_command "$1"