node.js应用程序,可以重新启动自己

我如何创build一个可以重新启动的应用程序? 我想创build一个应用程序,设置一个可以重新启动自己的networkingpipe理员。 这可能吗? 如果是这样,怎么样? 我认为这可能是内置在节点中的stream程模块。

我已经运行了好几次,很容易上手。 查看: https : //github.com/nodejitsu/forever

我知道答复有点迟,但是我有类似的要求。 每当我进行configuration更改时,我都想重新启动节点进程。 我使用pm2来pipe理我的节点进程,所以它变得非常简单。

进行configuration更改后,我从节点进程中执行process.exit()。 据我所知,进程退出然后pm2重新启动过程罚款。

还不确定是否有任何副作用,但它现在似乎对我工作正常。

  1. 你可以运行你的应用程序使用subprocess和操作它是如何需要的: https : //nodejs.org/api/child_process.html

  2. 永远使用,pm2或任何事情死亡后重新启动并杀死自己process.exit() https://nodejs.org/api/process.html

LK“我

没有外部依赖关系是可能的:

 console.log("This is pid " + process.pid); setTimeout(function () { process.on("exit", function () { require("child_process").spawn(process.argv.shift(), process.argv, { cwd: process.cwd(), detached : true, stdio: "inherit" }); }); process.exit(); }, 5000); 

来源: https : //gist.github.com/silverwind/d0802f7a919ae86ff25e

是的,新贵会在没有nodemon情况下重启你的进程。

 npm install -g nodemon sudo nodemon server.js 

nodemon将监视nodemon启动的目录中的文件,如果它们更改,它将自动重新启动节点应用程序。