changeset 25:b0d292e1c526

templates: add rc.template for services
author David Demelier <markand@malikania.fr>
date Mon, 25 Feb 2019 11:35:32 +0100
parents cbbe39d31270
children dc96e3bdd148
files templates/rc.template
diffstat 1 files changed, 72 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/rc.template	Mon Feb 25 11:35:32 2019 +0100
@@ -0,0 +1,72 @@
+#!/bin/sh
+#
+# Copyright (c) 2019 FirstName LastName <mailaddress>
+#
+# 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 [ -r /etc/rc.conf ]; then
+	. /etc/rc.conf
+fi
+
+: ${TEMPLATE_CMD:=/usr/sbin/template}
+: ${TEMPLATE_ARGS:=--foo}
+: ${TEMPLATE_PID:=/var/run/template/template.pid}
+
+template_start()
+{
+	echo "Starting template: $TEMPLATE_CMD $TEMPLATE_ARGS"
+	$TEMPLATE_CMD $TEMPLATE_ARGS -p $TEMPLATE_PID
+}
+
+template_status()
+{
+	if [ -s $TEMPLATE_PID ]; then
+		echo "template is running with pid: `cat $TEMPLATE_PID`"
+	else
+		echo "template is not running"
+	fi
+}
+
+template_stop()
+{
+	if [ -s $TEMPLATE_PID ]; then
+		echo "Stopping template..."
+		kill -QUIT $TEMPLATE_PID
+	fi
+}
+
+template_restart()
+{
+	template_stop
+	sleep 3
+	template_start
+}
+
+case $1 in
+start)
+	template_start
+	;;
+status)
+	template_status
+	;;
+stop)
+	template_stop
+	;;
+restart)
+	template_restart
+	;;
+*)
+	echo "usage: $(basename $0) restart|start|status|stop"
+	;;
+esac