diff options
Diffstat (limited to 'pbot')
-rwxr-xr-x | pbot | 26 |
1 files changed, 17 insertions, 9 deletions
@@ -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 |