From 7aeaf3525f58c710ed68c5e3cd8d6937b5fb2c7d Mon Sep 17 00:00:00 2001 From: Joseph Graham Date: Sun, 13 Jul 2014 07:47:28 +0100 Subject: improvements --- pbot | 60 ++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/pbot b/pbot index ac65193..a619241 100644 --- a/pbot +++ b/pbot @@ -1,29 +1,49 @@ #! /bin/bash -declare -a pids +if [[ "${1}" == 'start' ]] +then + declare -a pids -cd /home/pbot + cd /home/pbot -./envbot & -pids[0]=$! + ./envbot & + pids[0]=$! -./pbot-ng_fixer & -pids[1]=$! + ./pbot-ng_fixer & + pids[1]=$! -./labs_change_detector & -pids[2]=$! + ./labs_change_detector & + pids[2]=$! -function closedown -{ - for pid in ${pids[@]} - do - kill $pid - done -} + function closedown + { + for pid in ${pids[@]} + do + kill $pid + done -trap "closedown" SIGINT SIGTERM + exit + } -while true -do - sleep 5h -done + trap "closedown" SIGINT SIGTERM + + while true + do + sleep 5h + done +elif [[ "${1}" == 'stop' ]] +then + while true + do + pid=$(pgrep -u pbot | head -1) + + if [[ -n "${pid}" ]] + then + kill ${pid} &>/dev/null + else + exit + fi + done +else + echo "first arg must be \`start' or \`stop'" +fi -- cgit v1.2.3