#!/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 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