From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- extra/icecast/icecastd | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 extra/icecast/icecastd (limited to 'extra/icecast/icecastd') diff --git a/extra/icecast/icecastd b/extra/icecast/icecastd new file mode 100644 index 000000000..e6c91b08c --- /dev/null +++ b/extra/icecast/icecastd @@ -0,0 +1,66 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +timeo=30 + +getPID() { + pgrep -u nobody icecast 2>/dev/null +} + +case $1 in + start) + stat_busy "Starting Icecast Server" + if getPID >/dev/null; then + # already running + stat_fail + exit 1 + else + /usr/bin/icecast -b -c /etc/icecast.xml &>/dev/null + while (( timeo > 0 )); do + if getPID >/dev/null; then + add_daemon icecast + stat_done + exit 0 + fi + sleep 1 + (( timeo-- )) + done + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping Icecast Server" + if ! getPID >/dev/null; then + # not running + stat_done + exit 1 + fi + if ! kill $(getPID) &> /dev/null; then + stat_fail + exit 1 + fi + while (( timeo > 0 )); do + if getPID >/dev/null; then + rm_daemon icecast + stat_done + exit 0 + fi + sleep 1 + (( timeo-- )) + done + stat_fail + exit 1 + ;; + + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 -- cgit v1.2.3-54-g00ecf