5

クラスターとフォーエバーを使用したアプリケーションがあります。アプリのシャットダウンまたは再起動の前にワーカーからの情報を保存したい。したがって、process.on('SIGINT') を使用すると、CTRL+C で問題なく動作します。

しかし、私は永遠に立ち往生しています。アプリが Forever によって再起動されたことを何らかの形で検出することは可能ですか? それについて何か信号はありますか?

4

4 に答える 4

3

この問題はかなり古いものですが、見たことがない人のために、最新の永遠のバージョンは --killSignal をサポートしているため (これは 2013 年 12 月に追加されました)、例を使用して--killSignal=SIGUSR2このシグナルをキャッチできます。process.on('SIGUSR2', func)

于 2014-01-04T16:48:23.853 に答える
0

kill -s SIGUSR1 <pid>デーモンを再起動する前に行うことをお勧めします。このシグナルは、 によってノードで簡単にキャッチできますprocess.on('SIGUSR1')

kill -s SIGUSR1 <pid>
forever restart test.js
于 2013-04-22T13:31:58.427 に答える
0

Forever は SIGKILL を使用しますhttps://github.com/nodejitsu/forever-monitor/blob/master/lib/forever-monitor/monitor.js#L353を参照してください

したがって、その後は永遠に「SIGTERM」を送信するhttps://github.com/nodejitsu/forever-monitor/blob/master/lib/forever-monitor/common.js#L45を使用することに注意してprocess.on('SIGKILL', onStop);ください。 .process.on('SIGINT', onStop);kill process.on('SIGTERM', onStop)

于 2013-04-12T12:30:43.940 に答える