私はプロセスを自動デーモン化して管理するモニターを持っています。node.jsサーバーを強制終了する
私はこのnode.jsプログラムを持っていて、何とか別のプロセスを生成しています。私のコードではフォークを使用していません。そのようなものは、dbの作業を行うsetIntervalを使用した無限ループです。
これは、それが実行されます方法です:
この後node /path/to/program.js >> program.log 2>&1
、top -bcn1|grep program.js
ショー:
24763 ubuntu 20 0 695m 21m 5464 S 0 0.3 0:00.39 node /path/to/program.js
25053 ubuntu 20 0 4264 580 484 S 0 0.0 0:00.01 sh -c node /path/to/program.js >> program.log 2>&1
私はプログラムを再起動することを教えたときに私のプロセスモニタはその後、25053でpidファイルを設定しますので、それは25053を殺し、プログラムを再び開始し、今度は前のコマンドの出力は次のようになります:
24763 ubuntu 20 0 695m 21m 5464 S 0 0.3 0:00.39 node /path/to/program.js
23520 ubuntu 20 0 630m 21m 5464 S 0 0.3 0:00.39 node /path/to/program.js
23012 ubuntu 20 0 4264 580 484 S 0 0.0 0:00.01 sh -c node /path/to/program.js >> program.log 2>&1
それでは、どのようにして "子供"のプロセスなのか、それが何であれ殺されるのですか?
これはノードの基本的なものだと感じましたが、まだ回答が見つかりませんでした。
これはまだ可能ですか? [このプルリクエスト](https://github.com/joyent/node/pull/2832)を参照してください。 –
私は何も産んでいない、または何もフォークしていない場合でも適用されますか? – Ivan
質問が間違っていました。私はそれが当てはまるとは思わない。ごめんなさい。 –