보인다 forever-monitor를 사용하여 오류가 발생하면 app.js 스크립트를 다시 시작하십시오. 작동하는 것처럼 보입니다. 당신이해야 할 것은 영원히 를 설치하고 쓰기 server.js를 NPM입니다 :
var forever = require('forever'),
child = new(forever.Monitor)('app.js', {
'silent': false,
'pidFile': '/var/run/app.pid',
'watch': false,
'options': ['8383'], // Additional arguments to pass to the script,
'sourceDir': '.', // Directory that the source script is in
'watchDirectory': '.', // Top-level directory to watch from.
'watchIgnoreDotFiles': true, // whether to ignore dot files
'watchIgnorePatterns': [], // array of glob patterns to ignore, merged with contents of watchDirectory + '/.foreverignore' file
'logFile': 'logs/forever.log', // Path to log output from forever process (when daemonized)
'outFile': 'logs/forever.out', // Path to log output from child stdout
'errFile': 'logs/forever.err'
});
child.start();
forever.startServer(child);
을하고 그것을 실행 - 정지 (나는 ~/nodejs 디렉토리에서 실행) 노드 server.js는 PID 파일을 을 그/var/run에 있어야한다고 생각합니다. 이상하지만, 더 이상 모니터를 필요로하지 않습니다. 나는 아직도 upstart를 사용하는 것이 왜 이해가 안되는가? (어쨌든 나는 upstart가 작동하지 않을 때 어쨌든 upstart를 사용해야한다.)
감사하지만 나는 pidfile이 아닌 프로세스 번호가 필요하다. – Liatz
아마도 나는 돈이 없다. 당신이 원하는 것을 잘 이해하지 못한다. 그러나 pidfile은 단지 pid 번호를 가진 파일이다. –
프로세스가 다시 시작되면 pid가 변경됩니다. 어쨌든 그것이 monitrc 설정에 필요한 것입니다. 나는 그것에게 pid 파일 경로를 주어야한다. – Liatz