2012-02-20 11 views
9

自分自身を再起動できるアプリを作成するにはどうすればよいですか?自分自身を再起動できるWeb管理者を設定するアプリを作成したいと思います。これは可能ですか?もしそうなら、どうですか?私はこれがノードに組み込まれているプロセスモジュールで可能かもしれないと考えていました。node.js自分自身を再起動できるアプリ

+0

複数のモジュールhttps://github.com/joyent/node/wiki/modules#から – sarnold

答えて

11

私は永遠に何度も実行しており、使い始めるのは簡単です。それをチェックアウトしてください:https://github.com/nodejitsu/forever

+0

永遠に手動で再起動することができる場所がわかりません – LordZardeck

+0

@Lord: 'restart'と' restartall'コマンドに特に注意してください。 – sarnold

+0

huh、 tをreadmeに入れてください。私は今すぐインストールしようとしていますが、私は窓にいくつかの問題があります。 http://stackoverflow.com/questions/9366916/cant-install-forever-on-windows – LordZardeck

4

私はそれが少し遅れていることは知っていますが、同様の要件がありました。私は設定変更を行うたびにノードプロセスを再開したかったのです。私は自分のノードプロセスを管理するためにpm2を使用していますので、本当に簡単です。

構成を変更した後、ノードプロセス内からprocess.exit()を実行します。私が見る限り、プロセスは終了し、pm2はプロセスを正常に再開します。

まだ副作用があるかどうかはわかりませんが、今のところ私にとってはうまくいっているようです。

+0

これは私にとっても正しい答えです – Antoine

2
  1. あなたは子プロセスを使用してアプリケーションを実行し、必要に応じてどのようにそれを操作することができます ​​

  2. 使用永遠に、PM2または死亡した後、何の事を再起動するとprocess.exitで自身を殺す()https://nodejs.org/api/process.html

0

はい、upstartはnodemonなしでプロセスを再起動します。

npm install -g nodemon 
sudo nodemon server.js 

nodemonnodemonが開始されたディレクトリ内のファイルを見るなり、彼らが変更された場合、それは自動的にノード・アプリケーションを再起動します。

4

LK「I

それは外部依存関係なしに可能である:

console.log("This is pid " + process.pid); 
setTimeout(function() { 
    process.on("exit", function() { 
     require("child_process").spawn(process.argv.shift(), process.argv, { 
      cwd: process.cwd(), 
      detached : true, 
      stdio: "inherit" 
     }); 
    }); 
    process.exit(); 
}, 5000); 

ソース:https://gist.github.com/silverwind/d0802f7a919ae86ff25e

関連する問題