多年来,由于这篇文章引起了很多关注,因此我在文章的底部列出了每个平台的最佳解决方案。
原始帖子:
我希望我的node.js服务器在后台运行,即:当我关闭终端时,我希望服务器继续运行。我已经用谷歌搜索并提出了本教程,但是它没有按预期工作。因此,我认为我只是使用了输出重定向(该2>&1 >> file
部分),而不是使用该守护程序脚本,但这也不会退出-我在终端中出现空白行,就像它在等待输出/错误一样。
我也尝试过将进程置于后台,但是一旦关闭终端,进程也会被终止。
那么,当我关闭本地计算机时如何使它运行?
最佳解决方案:
这个答案对于聚会来说还很晚,但是我发现最好的解决方案是编写同时使用
screen -dmS
和nohup
命令的shell脚本。我还在
>> logfile
末尾添加了一点,以便可以轻松保存nodeconsole.log()
语句。Why did I use a shell script? Well I also added in an if statement that checked to see if the
node myserver.js
process was already running.That way I was able to create a single command line option that both lets me keep the server going and also restart it when I have made changes, which is very helpful for development.