【发布时间】:2015-10-07 11:34:27
【问题描述】:
我有一个 node.js + express web 应用程序,我看到在生产中建议有一个进程管理器,以防你的 node.js 进程死亡。
我的问题是:您的代码中是否有某些东西可以意外杀死它,还是只有外部因素可以杀死它?
显然,我有一个错误的想法,即 JS 中的错误会杀死节点进程,但显然情况并非如此。
【问题讨论】:
标签: javascript node.js express process
我有一个 node.js + express web 应用程序,我看到在生产中建议有一个进程管理器,以防你的 node.js 进程死亡。
我的问题是:您的代码中是否有某些东西可以意外杀死它,还是只有外部因素可以杀死它?
显然,我有一个错误的想法,即 JS 中的错误会杀死节点进程,但显然情况并非如此。
【问题讨论】:
标签: javascript node.js express process
有很多事情会导致您的节点进程死亡。例如它可能会耗尽内存,它可能会因 JS 错误而崩溃,等等。
在生产中,您可能希望节点进程在崩溃后重新启动,但您仍应查看它崩溃的原因并纠正您的问题。
--EDIT-- 询问JS崩溃示例
我从 JS 崩溃中发现的最常见的崩溃是从未测试过的 db 错误中的代码。假设 my_obj 不存在。在到达那条线之前它不会崩溃。
db.query(..., function(err, results){
if(err){
console.log("OH NO THERE WAS AN ERROR LOOKING UP " + my_obj);
} else {
//handle success
}
});
【讨论】: