デーモン化
ターミナルから起動したプロセスをログイン状態に関係なく起動したままにしておくにはデーモン化を行います。デーモン化とは、プロセスをターミナルから切り離し、完全にバックグラウンドで動作させることです。Node.jsのプログラムはforever(MITライセンス)というツールを使って簡単にデーモン化できます。
foreverのインストール
次のコマンドでforeverをシステム全体にインストールします。
$ npm install -g forever (適切な権限で実行する)
foreverの使い方
デーモン化したいJavaScriptプログラムをforever start jsファイル名
というコマンドで起動すると自動的にデーモン化されて実行されます。
$ coffee -c server.coffee $ forever start server.js info: Forever processing file: server.js
この時点でプロセスはすでにターミナルとは切り離されたバックグラウンドで動いているため、すぐに次のコマンドを入力できる状態になります。forever list
コマンドで現在動作中のプログラム一覧を見ることができます。
$ forever list info: Forever processes running data: uid command script forever pid logfile uptime data: [0] cL1U node server.js 48258 48261 /Users/nao/.forever/cL1U.log 0:0:0:30.338
デーモン化したプロセスを停止するときはforever stop
に続けてforever list
の出力で[ ]内に表示されている番号を指定します。上記の例では [0]
の部分が該当します。
$ forever stop 0 info: Forever stopped process: data: uid command script forever pid logfile uptime [0] cL1U node server.js 48258 48261 /Users/nao/.forever/cL1U.log 0:0:0:44.579
このようにforeverを使ってプログラムを簡単にデーモン化することができます。常時起動させておくようなプロセスの場合は、OS起動時にforever start
が実行されるように環境を設定しておくとよいでしょう。