如何将grunt作为守护进程运行?
问题描述:
我运行一个打包的Web服务器的NodeJS允许的EPUB文件(Readium-JS)阅读,它开始与繁重的命令。如何将grunt作为守护进程运行?
但是,如果我在我的VPS运行该服务器,只要我的终端连接结束死亡。
我怎样才能运行这个任务作为一个守护进程?
我曾看过像grunt-forever和grunt-daemon这样的选项,但Gruntfile使用load-grunt-config编写的方式与我的想法混淆,我无法拼凑出如何隔离服务器代码。
答
这是我找到了解决办法:
正如上面所建议的,使用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后,一切都顺利航行。
你真的需要与繁重的开始呢? [pm2](https://www.npmjs.com/package/pm2)是最流行的进程管理器,但我不知道它可以与grunt一起工作。 – loganfsmyth
是的,似乎从命令行调用grunt是必要的。似乎没有一个文件可以运行'node file.js'来正确启动服务器,否则我会将它永远扔在一起。看起来很咕噜的是把配置拉到一起,然后启动它,这似乎不是从除了运行grunt以外的任何东西中调用。 ---这就是说,我已经尝试过了,它似乎在工作。如果您添加您的评论作为答案,我会接受它是正确的,谢谢! – Antoine