2013-10-29 9 views
5

現在のスクリプトのnode-webkit(またはnode.js)外部プロセス並列でsystemコマンドを実行する方法。ノードWebkitは外部コマンドを実行しますか?

私はchild_processを使用しようとしています。スクリプトの中断後、サブプロセスは終了します。しかし、私は単純な方法を出力または出力なしでbashコマンドを実行する必要がありますが、私のスクリプトが中断されるときにプログラムを停止することなく。

私は正しい単純な方法が必要です。

ありがとうございます。

答えて

10

使用detachedオプションが産卵に/引数を実行します。デタッチオプションが設定されている場合は

、子プロセスは新しいプロセスグループのリーダー 行われます。これにより、親が終了した後に子が に実行され続けることが可能になります。

デフォルトでは、親は分離された子が終了するのを待機します。 に親が特定の子を待つのを防ぐには、 child.unref()メソッドを使用し、親のイベントループには参照カウントに という子が含まれません。長時間実行プロセスを取り外して、ファイルに出力 をリダイレクトする

例:

var fs = require('fs'), 
    spawn = require('child_process').spawn, 
    out = fs.openSync('./out.log', 'a'), 
    err = fs.openSync('./out.log', 'a'); 

var child = spawn('prg', [], { 
    detached: true, 
    stdio: [ 'ignore', out, err ] 
}); 

child.unref(); 
関連する問題