view irc/irccd/irccd @ 1287:8c73c712e598

core/procps: upgrad to 3.3.17
author David Demelier <markand@malikania.fr>
date Tue, 16 Nov 2021 14:49:07 +0100
parents 89ba3e75ca96
children
line wrap: on
line source

#!/bin/busybox sh
#
# /etc/rc.d/irccd -- run control script for irccd
#
# Copyright (c) 2019 David Demelier <markand@malikania.fr>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#

if [ -f /etc/rc.conf ]; then
	. /etc/rc.conf
fi

# TODO: change IRCCD_ARGS once this issue is fixed:
# https://redmine.malikania.fr/issues/2263
: ${IRCCD_CMD:=/bin/irccd}
: ${IRCCD_ARGS:=-c /etc/irccd.conf}
: ${IRCCD_PID:=/var/run/irccd/irccd.pid}
: ${IRCCD_USER:=irccd}
: ${IRCCD_GROUP:=irccd}

irccd_start()
{
	if [ -s $IRCCD_PID ]; then
		echo "irccd is already running with pid: $(cat $IRCCD_PID)"
	else
		echo "Starting irccd: $IRCCD_CMD $IRCCD_ARGS"
		start-stop-daemon \
			-Sbvp $IRCCD_PID \
			-c ${IRCCD_USER}:${IRCCD_GROUP} \
			-m $IRCCD_PID \
			-x $IRCCD_CMD -- $IRCCD_ARGS
	fi
}

irccd_status()
{
	if [ -s $IRCCD_PID ]; then
		echo "irccd is running with pid: $(cat $IRCCD_PID)"
	else
		echo "irccd is not running"
	fi
}

irccd_stop()
{
	if [ -s $IRCCD_PID ]; then
		echo "Stopping irccd."
		start-stop-daemon -Kqp $IRCCD_PID
		rm -f $IRCCD_PID
	fi
}

irccd_restart()
{
	irccd_stop
	sleep 3
	irccd_start
}

case $1 in
start)
	irccd_start
	;;
status)
	irccd_status
	;;
stop)
	irccd_stop
	;;
restart)
	irccd_restart
	;;
*)
	echo "usage: $(basename $0) restart|start|status|stop"
	;;
esac