aboutsummaryrefslogtreecommitdiffstats
path: root/hyperbot
diff options
context:
space:
mode:
Diffstat (limited to 'hyperbot')
-rwxr-xr-xhyperbot49
1 files changed, 49 insertions, 0 deletions
diff --git a/hyperbot b/hyperbot
new file mode 100755
index 0000000..1466ff2
--- /dev/null
+++ b/hyperbot
@@ -0,0 +1,49 @@
+#! /bin/bash
+
+if [[ "${1}" == 'start' ]]
+then
+ declare -a pids
+
+ cd /srv/hyperbot/
+
+ ./envbot &
+ pids[0]=$!
+
+ ./hyperbot_fixer &
+ pids[1]=$!
+
+ ./issues_change_detector &
+ pids[2]=$!
+
+ function closedown
+ {
+ for pid in ${pids[@]}
+ do
+ kill $pid
+ done
+
+ exit
+ }
+
+ trap "closedown" SIGINT SIGTERM
+
+ while true
+ do
+ sleep 5h
+ done
+elif [[ "${1}" == 'stop' ]]
+then
+ while true
+ do
+ pid=$(pgrep -u hyperbot | head -1)
+
+ if [[ -n "${pid}" ]]
+ then
+ kill ${pid} &>/dev/null
+ else
+ exit
+ fi
+ done
+else
+ echo "first arg must be \`start' or \`stop'"
+fi