summaryrefslogtreecommitdiff
path: root/pbot
diff options
context:
space:
mode:
Diffstat (limited to 'pbot')
-rwxr-xr-xpbot26
1 files changed, 17 insertions, 9 deletions
diff --git a/pbot b/pbot
index a619241..ec4d91b 100755
--- a/pbot
+++ b/pbot
@@ -2,25 +2,29 @@
if [[ "${1}" == 'start' ]]
then
- declare -a pids
-
cd /home/pbot
./envbot &
- pids[0]=$!
+ envbot_pid=$!
./pbot-ng_fixer &
- pids[1]=$!
+ pbotng_fixer_pid=$!
./labs_change_detector &
- pids[2]=$!
+ labs_change_detector_pid=$!
function closedown
{
- for pid in ${pids[@]}
- do
- kill $pid
- done
+ echo "[pbot]: received SIGINT/SIGTERM"
+
+ echo "[pbot]: killing envbot($envbot_pid)"
+ kill $envbot_pid
+
+ echo "[pbot]: killing pbot-ng_fixer($pbotng_fixer_pid)"
+ kill $pbotng_fixer_pid
+
+ echo "[pbot]: killing labs_change_detector($labs_change_detector_pid)"
+ kill $labs_change_detector_pid
exit
}
@@ -33,13 +37,17 @@ then
done
elif [[ "${1}" == 'stop' ]]
then
+ echo "[pbot]: stopping per 'stop' command"
+
while true
do
pid=$(pgrep -u pbot | head -1)
if [[ -n "${pid}" ]]
then
+ echo "[pbot]: killing '$(ps -p ${pid} -o comm=)'(${pid})"
kill ${pid} &>/dev/null
+ sleep 1
else
exit
fi