diff --git a/launch.bash b/launch.bash index 45720d9..45ae8b3 100644 --- a/launch.bash +++ b/launch.bash @@ -1,5 +1,24 @@ #!/bin/bash -killall -9 rosmaster -roslaunch rosbridge_GUI_example all.launch & -python -m SimpleHTTPServer 8000 + +kill_child_processes() { + isTopmost=$1 + curPid=$2 + childPids=`ps -o pid --no-headers --ppid ${curPid}` + for childPid in $childPids + do + kill_child_processes 0 $childPid + done + if [ $isTopmost -eq 0 ]; then + kill -9 $curPid 2> /dev/null + fi +} + +# Ctrl-C trap. Catches INT signal +trap "kill_child_processes 1 $$; exit 0" INT + +chmod a+x src/bagger.py + +x-terminal-emulator -e "roslaunch rosbridge_GUI_example all.launch " & +x-terminal-emulator -e "python -m SimpleHTTPServer 8000" +