diff --git a/bin/forever b/bin/forever index 2225973b..a08c5e0e 100755 --- a/bin/forever +++ b/bin/forever @@ -3,7 +3,8 @@ var path = require('path'), fs = require('fs'), winston = require('winston'), - sys = require('sys'); + sys = require('sys'), + forever = require('./../lib/forever'); var accepts = ['start', 'stop', 'stopall', 'list', 'config', 'clear', 'set', 'cleanlogs', 'restart'], action; if (accepts.indexOf(process.argv[2]) !== -1) { @@ -11,9 +12,6 @@ if (accepts.indexOf(process.argv[2]) !== -1) { } var argv = require('optimist').boolean(['v', 'verbose', 'a', 'append', 's', 'silent']).argv; -require.paths.unshift(path.join(__dirname, '..', 'lib')); - -var forever = require('forever'); var help = [ 'usage: forever [action] [options] SCRIPT [script-options]', diff --git a/examples/multiple-processes.js b/examples/multiple-processes.js index ea79cc59..cc7f5888 100644 --- a/examples/multiple-processes.js +++ b/examples/multiple-processes.js @@ -1,8 +1,6 @@ -require.paths.unshift(require('path').join(__dirname, '..', 'lib')); - var util = require('util'), - forever = require('forever'), path = require('path'), + forever = require('./../lib/forever'), script = path.join(__dirname, 'server.js'); var child1 = new (forever.Forever)(script, { 'options': [ "--port=8080"] }); diff --git a/lib/forever.js b/lib/forever.js index 99a51f34..0abc03ae 100644 --- a/lib/forever.js +++ b/lib/forever.js @@ -475,6 +475,10 @@ forever.pidFilePath = function(pidFile) { // Utility function to check to see if a pid is running // function checkProcess (pid, callback) { + if (!pid) { + return callback(false); + } + exec('ps ' + pid + ' | grep -v PID', function (err, stdout, stderr) { if (err) return callback(false); callback(stdout.indexOf(pid) !== -1); diff --git a/lib/forever/monitor.js b/lib/forever/monitor.js index 094037af..ab2d983a 100644 --- a/lib/forever/monitor.js +++ b/lib/forever/monitor.js @@ -282,7 +282,7 @@ Monitor.prototype.kill = function (forceStop) { if (forceStop) { this.forceStop = true; } - + this.child.kill(); this.emit('stop', this.childData); } diff --git a/test/multiple-processes.js b/test/multiple-processes-test.js similarity index 100% rename from test/multiple-processes.js rename to test/multiple-processes-test.js