永远使用node.js程序作为守护程序运行时 即
forever start myNodeTask
如果守护程序(myNodeTask
)决定需要退出,那么这样做的正确方法是什么?
如果我只是调用process.exit()
,程序会终止,但它不会删除永远的日志文件,这使我相信我需要以更加友好的方式退出程序。
我正在运行的节点任务是普通的tcp服务器,它们将数据流式传输到连接的客户端,而不是Web服务器。
答案 0 :(得分:1)
forever
模块始终保留日志文件,即使在进程完成后也是如此。 永远友好的方式没有删除这些文件。
但是,您可以使用forever-monitor
模块,该模块允许您以编程方式使用forever
(来自docs):
var forever = require('forever-monitor'),
fs = require('fs');
var child = new (forever.Monitor)('your-filename.js', {
max: 3,
silent: true,
options: []
});
child.on('exit', function () {
console.log('your-filename.js has exited after 3 restarts');
// here you can delete your log file
fs.unlink('path_to_your_log_file', function (err) {
// do something amazing
});
});
child.start();