Skip to content

Instantly share code, notes, and snippets.

@michaelBenin
Forked from FGRibreau/pid.js
Created September 17, 2013 02:25
Show Gist options
  • Save michaelBenin/6589374 to your computer and use it in GitHub Desktop.
Save michaelBenin/6589374 to your computer and use it in GitHub Desktop.
//
// Usage: require('./pid')("myapp");
//
var fs = require('fs');
module.exports = function(appname){
process.title = appname;
var PID_FILE = "/usr/local/var/run/"+process.title+".pid";
fs.writeFileSync(PID_FILE, process.pid+"\n");
process.on("uncaughtException", function(err) {
console.error("[uncaughtException]", err);
return process.exit(1);
});
process.on("SIGTERM", function() {
console.log("SIGTERM (killed by supervisord or another process management tool)");
return process.exit(0);
});
process.on("SIGINT", function() {
console.log("SIGINT");
return process.exit(0);
});
process.on("exit", function() {
return fs.unlink(PID_FILE);
});
};
#
# The following snippet must be inserted at the top of your main js file
#
process.title = "MyApp"
PID_FILE = "/usr/local/var/run/#{process.title}.pid"
fs = require("fs")
fs.writeFileSync PID_FILE, "#{process.pid}\n"
process.on "uncaughtException", (err) ->
console.error "[uncaughtException]", err
process.exit 1
process.on "SIGTERM", ->
console.log "SIGTERM (killed by supervisord or another process management tool)"
process.exit 0
process.on "SIGINT", ->
console.log "SIGINT"
process.exit 0
process.on "exit", ->
console.log('Exiting...')
fs.unlink PID_FILE
#
# Your code start here
#
setInterval (->), 1000
//
// The following snippet must be inserted at the top of your main js file
//
process.title = "MyApp";
var PID_FILE = "/usr/local/var/run/"+process.title+".pid"
, fs = require('fs');
fs.writeFileSync(PID_FILE, process.pid+"\n");
process.on("uncaughtException", function(err) {
console.error("[uncaughtException]", err);
return process.exit(1);
});
process.on("SIGTERM", function() {
console.log("SIGTERM (killed by supervisord or another process management tool)");
return process.exit(0);
});
process.on("SIGINT", function() {
console.log("SIGINT");
return process.exit(0);
});
process.on("exit", function() {
return fs.unlink(PID_FILE);
});
//
// Your code start here
//
setInterval(function(){}, 1000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment