diff options
author | Joseph Graham <joseph@fibreglass.tunachunks> | 2013-08-02 13:17:27 +0100 |
---|---|---|
committer | Joseph Graham <joseph@fibreglass.tunachunks> | 2013-08-02 13:17:27 +0100 |
commit | e1dec4f0cdfe612746ba186987fad1086e4d0cf2 (patch) | |
tree | 8af47e042444f82df69a5ab60b04d2fc191f4f92 | |
parent | 4998c97ad3f3f3f140a14f4bf675a9d1d000105e (diff) |
added the rc script to version control
-rw-r--r-- | pbot-ng.rc.d | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/pbot-ng.rc.d b/pbot-ng.rc.d new file mode 100644 index 0000000..29e76b2 --- /dev/null +++ b/pbot-ng.rc.d @@ -0,0 +1,71 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +declare -a pids + +while read -r line +do + pids+=("${line}") +done < <( pgrep -u pbot-ng ) + +case $1 in +start) + stat_busy "Starting pbot-ng" + + # Check it's not already running. + if ! (( ${#pids[*]} )) + then + su - pbot-ng -c "cd /home/pbot-ng ; ./envbot & ./bug_tracker_change_detector & ./chili_change_detector" & + # If it's not running then we fail. + if ! pgrep pbot-ng &>/dev/null + then + stat_fail + exit 1 + fi + + add_daemon pbot-ng + stat_done + else + stat_fail + exit 1 + fi + ;; + +stop) + stat_busy "Stopping pbot-ng" + + if ! (( ${#pids[*]} )) + then + echo "It's not running" + stat_fail + exit 1 + fi + + for (( i=0 ; i!=${#pids[*]} ; i++ )) + do + kill "${pids[${i}]}" &>/dev/null || + { + stat_fail + exit 1 + } + done + + unset pids + + rm_daemon pbot-ng + stat_done + + ;; + +restart) + $0 stop + $0 start + ;; + +*) + echo "Usage: $0 {start|stop|restart}" >&2 + exit 1 + +esac |