#!/bin/sh CMD=$1 #DOMAIN=$(pwd|sed s%/home/nevrax/%%) DOMAIN=shard if [ "$CMD" = "" ] then echo echo Screen sessions currently running: screen -list echo echo "Commands:" echo " 'start' to start the shard" echo " 'stop' to stop the ${DOMAIN}" echo " 'join' to join the ${DOMAIN}'s screen session" echo " 'share' to join the screen session in shared mode" echo " 'state' to view state information for the ${DOMAIN}" echo printf "Enter a command: " read CMD fi if [ "$CMD" = "stop" ] then if [ $(screen -list | grep \\\.${DOMAIN} | wc -l) != 1 ] then echo Cannot stop domain \'${DOMAIN}\' because no screen by that name appears to be running screen -list else screen -d -r $(screen -list | grep \\\.${DOMAIN}| sed 's/(.*)//') -X quit> /dev/null rm -v */*.state rm -v */*launch_ctrl ./global.launch_ctrl fi fi STARTARGS= if [ "$CMD" = "batchstart" ] then STARTARGS='-d -m' CMD='start' fi if [ "$CMD" = "start" ] then ulimit -c unlimited screen -wipe > /dev/null if [ $( screen -list | grep \\\.${DOMAIN} | wc -w ) != 0 ] then echo Cannot start domain \'${DOMAIN}\' because this domain is already started screen -list | grep $DOMAIN else screen $STARTARGS -S ${DOMAIN} -c ${DOMAIN}.screen.rc fi if [ "$STARTARGS" != "" ] then # on "batchstart", AES needs to be launched and AES will then launch other services printf LAUNCH > aes/aes.launch_ctrl fi fi if [ "$CMD" = "join" ] then if [ $(screen -list | grep \\\.${DOMAIN} | wc -l) != 1 ] then echo Cannot join domain \'${DOMAIN}\' because no screen by that name appears to be running screen -list else screen -r $(screen -list | grep \\\.${DOMAIN}| sed 's/(.*)//') fi fi if [ "$CMD" = "share" ] then if [ $(screen -list | grep \\\.${DOMAIN} | wc -l) != 1 ] then echo Cannot join domain \'${DOMAIN}\' because no screen by that name appears to be running screen -list else screen -r -x $(screen -list | grep \\\.${DOMAIN}| sed 's/(.*)//') fi fi if [ "$CMD" = "state" ] then echo State of domain ${DOMAIN}: if [ "$(echo */*.state)" = "*/*.state" ] then echo - No state files found else grep RUNNING */*state fi fi