diff --git a/src/Hydra/script/hydra_control.sh b/src/Hydra/script/hydra_control.sh new file mode 100755 index 00000000..2ce8b9f2 --- /dev/null +++ b/src/Hydra/script/hydra_control.sh @@ -0,0 +1,42 @@ +#! /bin/sh + +action="$1" + +if test -z "$HYDRA_DATA"; then + echo "Error: \$HYDRA_DATA is not set"; + exit 1 +fi + +if test "$action" = "start"; then + + hydra_server.pl > $HYDRA_DATA/server.log 2>&1 & + echo $! > $HYDRA_DATA/server.pid + + hydra_scheduler.pl > $HYDRA_DATA/scheduler.log 2>&1 & + echo $! > $HYDRA_DATA/scheduler.pid + + hydra_queue_runner.pl > $HYDRA_DATA/queue_runner.log 2>&1 & + echo $! > $HYDRA_DATA/queue_runner.pid + +elif test "$action" = "stop"; then + + kill $(cat $HYDRA_DATA/server.pid) + kill $(cat $HYDRA_DATA/scheduler.pid) + kill $(cat $HYDRA_DATA/queue_runner.pid) + +elif test "$action" = "status"; then + + echo -n "Hydra web server... " + (kill -0 $(cat $HYDRA_DATA/server.pid) 2> /dev/null && echo "ok") || echo "not running" + + echo -n "Hydra scheduler... " + (kill -0 $(cat $HYDRA_DATA/scheduler.pid) 2> /dev/null && echo "ok") || echo "not running" + + echo -n "Hydra queue runner... " + (kill -0 $(cat $HYDRA_DATA/queue_runner.pid) 2> /dev/null && echo "ok") || echo "not running" + + +else + echo "Syntax: $0 [start|stop|status]" + exit 1 +fi