2015-05-02 118 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後,一切都順利航行。

相關問題