#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/'); |