diff options
author | root <root@rshg047.dnsready.net> | 2011-05-14 22:37:30 +0000 |
---|---|---|
committer | root <root@rshg047.dnsready.net> | 2011-05-14 22:37:30 +0000 |
commit | e69c538fc7af5a9861c7688dd15913082d978180 (patch) | |
tree | f193cf26628a71f1c474227fa6c429713558f0a2 /community/icecast/icecastd | |
parent | 2c4629f613c001fd29740d0f4c0e497c771a2182 (diff) |
Sat May 14 22:37:30 UTC 2011
Diffstat (limited to 'community/icecast/icecastd')
-rw-r--r-- | community/icecast/icecastd | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/community/icecast/icecastd b/community/icecast/icecastd new file mode 100644 index 000000000..e6c91b08c --- /dev/null +++ b/community/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 |