Python
Node.js
forever
デーモン化

foreverを使ってpythonのスクリプトをデーモン化する

nodeJSのデーモン化があまりにも簡単で、pythonのデーモン化もnodeJSを経由してデーモン化することにしました。

foreverとは?

A simple CLI tool for ensuring that a given script runs continuously (i.e. forever).

特定のスクリプトが継続的に(つまり永遠に)実行されるようにするための簡単なCLIツール。

Install

npm install -g forever

Usage

起動

forever start SCRIPT_NAME

停止

forever end SCRIPT_NAME

再起動

forever restart SCRIPT_NAME

実行中の一覧

forever list

pythonを動かすために

foreverは.jsじゃないと動かないので、jsのファイルからpythonのスクリプトを呼び出して実行する。

FILENAME.js

var spawn = require('child_process').spawn;
var app   = spawn('python', ['FILENAME.py']); //言語名とファイル名を記述する
app.stdout.on('data', function(data) {{
  console.log('stdout: ' + data);
}});

app.stderr.on('data', function(data) {{
  console.log('stderr: ' + data);
}});

app.on('exit', function(code) {{
  console.log('exit code: ' + code);
}});
forever start FILENAME.js