foreverを使ってみたよ

foreverをそろそろ使うことになるんじゃないかなーと思ったので使ってみました。ほんとにさわりだけだけど。
さすがはnodejitsuというか、使い勝手良い感じがします。

コマンドから使う

グローバルインストールします。

$ npm install -g forever

使い方は至って簡単で、

$ forever start index.js

と実行すれば良いです。
ただデーモンとして起動させるだけじゃなく、最大再起動数を指定して実行したり、ログファイルなどの設定もできるみたいです。


止めたいときは

$ forever stop index.js

で止まります。

スクリプトから使う

foreverをローカルにインストールすると、スクリプトから使えるみたいです。

$ npm install forever
index.js
var forever = require('forever');

forever.startDaemon('child.js', {});
child.js
require('http').createServer(function(req, res) {
  res.end('Hello, World!\n');
}).listen(3000, function() {
  console.log('started http server');
});


あとはスクリプトを起動すると……

$ node index.js
$ forever list
(child.jsに関する出力がされる)

foreverコマンドからも制御できるプロセスが起動します。
たくさんのプロセスを起動させないといけない場合は、こんな風にJavaScriptを書いてあげて起動させるのも良いかもしれません。
まあ、foreverコマンドをたたくシェルスクリプトでも良いのかもしれませんが……