Node.js:从内部重新加载整个程序

时间:2014-08-20 23:21:23

标签: node.js

有没有办法在Node.js中重新加载(重启)整个程序。我不是指文件更改,只是使用一些命令。通过重新加载,我的意思与在控制台中按ctrl c并重新启动程序相同。

2 个答案:

答案 0 :(得分:0)

简单的方法是在pm2forever等流程主管下运行您的程序,然后通过process.exit()从内部终止程序自己的流程。

如果你想在没有父母主管的情况下这样做,那么(我认为)可能会变得很难。您需要查看process.execPathprocess.execArgvprocess.argv并使用child_process.fork或其中一个child_process.exec版本,但我还没有写过我自己所以我不知道所有细节。您可能还需要逻辑来确保父进程正确清理自己。我知道有些项目包括meteor.js和其他声称某种形式的“热代码加载”的项目,因此可能会有一些现有技术可供您学习。

答案 1 :(得分:0)

您可以在同一个过程中执行任何操作,退出它会将控制权返回给操作系统,而操作系统并没有为您做任何事情。

我建议您尝试使用nodemon。它会在检测到更改时监视文件并重新启动服务器。