diff options
Diffstat (limited to 'main/swatch/swatch.initd')
-rwxr-xr-x | main/swatch/swatch.initd | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/main/swatch/swatch.initd b/main/swatch/swatch.initd new file mode 100755 index 0000000000..ec625e4026 --- /dev/null +++ b/main/swatch/swatch.initd @@ -0,0 +1,50 @@ +#!/sbin/runscript + +# swatch init.d file for alpine linux. + +name=swatch +daemon=/usr/bin/$name +configfile=/etc/${name}/swatchrc +tailfile=/var/log/messages + +SVC="${SVCNAME#*.}" +if [ -n "${SVC}" ] && [ "${SVCNAME}" != "${name}" ]; then + SVCPID="${name}.${SVC}.pid" + configfile="${configfile}.${SVC}" + tailfile=$(find /var/log -name "${SVC}" | head -1) + [ ! "${tailfile}" ] && tailfile="/var/log/${SVC}" +else + SVCPID="${name}.pid" +fi + +depend() { +# need net + after syslog +} + +start() { + ebegin "Starting ${name}" + einfo "Preparing to monitor ${tailfile}" + if [ ! -e "${tailfile}" ]; then + eerror "${tailfile} does not exist" + return 1 + fi + if [ ! -e "${configfile}" ]; then + eerror "Configfile ${configfile} is missing" + return 1 + fi + mkdir -p "${scriptdir}" + start-stop-daemon --start --quiet --background \ + --make-pidfile --pidfile /var/run/${SVCPID} \ + --exec ${daemon} -- \ + --config-file="${configfile}" --script-dir="${scriptdir}" \ + --tail-file="${tailfile}" --tail-args="${tailargs}" + eend $? +} + +stop() { + ebegin "Stopping ${name}" + kill $(ps | grep .swatch_script.$(cat /var/run/${SVCPID}) | grep -v 'grep' | awk '{ print $1}') + eend $? +} + |