有没有办法在Node.js中重新加载(重启)整个程序。我不是指文件更改,只是使用一些命令。通过重新加载,我的意思与在控制台中按ctrl c
并重新启动程序相同。
答案 0 :(得分:0)
简单的方法是在pm2或forever等流程主管下运行您的程序,然后通过process.exit()
从内部终止程序自己的流程。
如果你想在没有父母主管的情况下这样做,那么(我认为)可能会变得很难。您需要查看process.execPath
,process.execArgv
和process.argv
并使用child_process.fork
或其中一个child_process.exec
版本,但我还没有写过我自己所以我不知道所有细节。您可能还需要逻辑来确保父进程正确清理自己。我知道有些项目包括meteor.js和其他声称某种形式的“热代码加载”的项目,因此可能会有一些现有技术可供您学习。
答案 1 :(得分:0)
您可以在同一个过程中执行任何操作,退出它会将控制权返回给操作系统,而操作系统并没有为您做任何事情。
我建议您尝试使用nodemon。它会在检测到更改时监视文件并重新启动服务器。