2015-05-02 88 views
2

我运行一个打包的Web服务器的NodeJS允许的EPUB文件(Readium-JS)阅读,它开始与繁重的命令。如何将grunt作为守护进程运行?

但是,如果我在我的VPS运行该服务器,只要我的终端连接结束死亡。

我怎样才能运行这个任务作为一个守护进程?

我曾看过像grunt-forever和grunt-daemon这样的选项,但Gruntfile使用load-grunt-config编写的方式与我的想法混淆,我无法拼凑出如何隔离服务器代码。

+0

你真的需要与繁重的开始呢? [pm2](https://www.npmjs.com/package/pm2)是最流行的进程管理器,但我不知道它可以与grunt一起工作。 – loganfsmyth

+0

是的,似乎从命令行调用grunt是必要的。似乎没有一个文件可以运行'node file.js'来正确启动服务器,否则我会将它永远扔在一起。看起来很咕噜的是把配置拉到一起,然后启动它,这似乎不是从除了运行grunt以外的任何东西中调用。 ---这就是说,我已经尝试过了,它似乎在工作。如果您添加您的评论作为答案,我会接受它是正确的,谢谢! – Antoine

回答

1

这是我找到了解决办法:

正如上面所建议的,使用pm2

然而,当我跑

pm2 start grunt 

我得到了一个错误说,繁重的模块不存在,这很奇怪。

所以我最后写一个脚本,它的工作:

- start.js -

var pm2 = require('pm2'); 

pm2.connect(function() { 
    pm2.start({ 
    script : '/usr/local/bin/grunt',   // Script to be run 
    args: '--force', 
    }, function(err, apps) { 
    pm2.disconnect(); 
    }); 
}); 

在命令行中运行节点start.js后,一切都顺利航行。

相关问题