私はこの質問を見つけましたが、良い答えは見つかりませんでした。Node.js fs.writeFile非同期でprocess.exit(0)が実行される
ノード0.10.40を使用しています。
子プロセスをchild_process.execFile
で生成しています。このプロセスでは、fs.writeFile
でファイルI/Oを実行しています。ただし、fs.writeFile
コールバックまたはfilo I/Oが終了する前に、プロセスはprocess.exit(0)
で終了します。
setTimeout
を除いて、どのようにプロセスが終了するのを遅らせることができるかについてのご意見はです。私はではありません私はそれを行う場合は、私も同様にfs.writeFileSync
を使用する可能性がありますので、タイムアウトを使用したいです。誰かがこの問題の解決策を見つけましたか?
このシナリオを検討しているため単純にfs.writeFileのコールバックでprocess.exit(0)
を入れて[EDIT]
は、私がここを探していますものではありません。
あなたはそのスポーンプログラムを持っています子プロセス。これらの子プロセスでは、したがって、基本的
writeFile
のコールバック内process.exit(0)
を入れても、そのあなたのみものを作品HTTPリクエストを実行し、パケットデータをダンプし、パケットデータのロジックを実行し、そのプロセスを殺す
子プロセスは、この1つのファイル入出力です。しかし、より大きなスケールでは、このプロセスでかなりの量のロジックを実際に行い、時には情報を「ダンプ」したい場合には、これは機能しません。 このプロセスの「寿命」はファイルI/Oに依存しません。これは、パケットデータに対して実行するロジックに依存します。ダンプは、このシナリオでは、振り返ってデバッグするためのものです。
したがって、実際に必要なのは、非同期操作の管理に役立つものです。これは、['async'](https://github.com/caolan/async)や約束などのモジュールや他のさまざまな解決策で行うことができます。 – robertklep