首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将node js server作为守护进程运行?

如何将node js server作为守护进程运行?
EN

Stack Overflow用户
提问于 2015-12-28 17:15:04
回答 4查看 10.3K关注 0票数 8

我正在为一个应用程序使用Ionic框架和nodejs。所有nodejs文件都在linux服务器上。我正在通过putty使用'npm start &‘命令启动nodejs服务器。但问题是,如果我关闭putty,服务器会在一段时间后停止。我尝试了'nohup npm start &‘。但我仍然面临着同样的问题。如何启动它作为守护进程..?

EN

回答 4

Stack Overflow用户

发布于 2015-12-28 17:31:29

您可以使用pm2进行生产。

要安装pm2:

代码语言:javascript
复制
npm install pm2 -g

要启动一个应用程序,只需运行:

代码语言:javascript
复制
pm2 start app.js

您可以通过以下方式查看日志:

代码语言:javascript
复制
pm2 logs

要获得更多选项,只需在github repo上查看他们的自述文件。

票数 12
EN

Stack Overflow用户

发布于 2018-10-03 22:10:16

这是守护程序模块的改编:

代码语言:javascript
复制
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()
}

用法:

代码语言:javascript
复制
const daemon = require('daemon')
daemon()

app.listen(...)

https://wiki.unix7.org/node/daemon-sample

票数 2
EN

Stack Overflow用户

发布于 2015-12-28 17:32:46

要创建真正的守护进程(没有附加到任何tty的进程),可以使用npm上提供的几个守护进程模块之一。

通过快速搜索,我得到了以下结果:https://www.npmjs.com/package/daemon

有趣的是,上面的模块使用纯javascript和node.js内置模块工作,不需要任何C扩展。它通过利用child_process在较新版本的node (> 0.9)中的工作方式来工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34490690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档