我正在为一个应用程序使用Ionic框架和nodejs。所有nodejs文件都在linux服务器上。我正在通过putty使用'npm start &‘命令启动nodejs服务器。但问题是,如果我关闭putty,服务器会在一段时间后停止。我尝试了'nohup npm start &‘。但我仍然面临着同样的问题。如何启动它作为守护进程..?
发布于 2015-12-28 17:31:29
您可以使用pm2进行生产。
要安装pm2:
npm install pm2 -g要启动一个应用程序,只需运行:
pm2 start app.js您可以通过以下方式查看日志:
pm2 logs要获得更多选项,只需在github repo上查看他们的自述文件。
发布于 2018-10-03 22:10:16
这是守护程序模块的改编:
const child_process = require('child_process')
function child(exe, args, env) {
const child = child_process.spawn(exe, args, {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
env: env
})
child.unref()
return child
}
module.exports = function(nodeBin) {
console.log('Daemonize process')
if (process.env.__daemon) {
return process.pid
}
process.env.__daemon = true
var args = [].concat(process.argv)
var node = args.shift()
var env = process.env
child(node, args, env)
return process.exit()
}用法:
const daemon = require('daemon')
daemon()
app.listen(...)发布于 2015-12-28 17:32:46
要创建真正的守护进程(没有附加到任何tty的进程),可以使用npm上提供的几个守护进程模块之一。
通过快速搜索,我得到了以下结果:https://www.npmjs.com/package/daemon
有趣的是,上面的模块使用纯javascript和node.js内置模块工作,不需要任何C扩展。它通过利用child_process在较新版本的node (> 0.9)中的工作方式来工作。
https://stackoverflow.com/questions/34490690
复制相似问题