Skip to content

Instantly share code, notes, and snippets.

@jgallen23
Created April 30, 2012 03:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jgallen23/2555364 to your computer and use it in GitHub Desktop.
Save jgallen23/2555364 to your computer and use it in GitHub Desktop.
moncmd

#Moncmd

moncmd is a wrapper for mon

##Usage

moncmd start
moncmd status
moncmd restart
#!/bin/bash
PIDS="pids"
LOGS="logs"
NAMES[0]="web"
CMDS[0]="node server.js 8001"
NAMES[1]="web2"
CMDS[1]="node server.js 8002"
APP=$2
case "$1" in
start)
for i in ${!NAMES[@]}
do
if [ -z "$APP" -o "$APP" == ${NAMES[i]} ]; then
echo "starting ${NAMES[i]} (${CMDS[i]})"
mon -d -p $PIDS/${NAMES[i]}.pid -l $LOGS/${NAMES[i]}.log "${CMDS[i]}"
#TODO: write out mon pid for stop command
fi
done
;;
status)
for i in ${!NAMES[@]}
do
echo ${NAMES[i]} `mon --pidfile $PIDS/${NAMES[i]}.pid --status`
done
;;
restart)
for i in ${!NAMES[@]}
do
if [ -z "$APP" -o "$APP" == ${NAMES[i]} ]; then
echo "restarting ${NAMES[i]}"
kill -s SIGTERM $(cat $PIDS/${NAMES[i]}.pid)
fi
done
;;
stop)
echo "not implemented yet"
;;
*)
echo "usage:"
echo "moncmd start [appname]"
echo "moncmd restart [appname]"
echo "moncmd status"
;;
esac
var http = require('http');
var port = process.argv[2] || 8001;
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(port, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment