3

Node.JS Exec の質問:

複数のプロセスを生成するプログラムがあり、プロセスの終了時に PID を取得して、プロセスの終了順序をログに記録したいと考えています。私が言えることから、標準のコールバックには PID (stdout、stderr、およびエラー) が含まれていません。

スポーンの使用は避けたいのですが、親切な方がアイデアを持っていない限り、そうしなければならないようです。

前もって感謝します。

編集:

明確にするために:

var child = child_process.exec(..., function() {
    console.log( child.pid );
});

複数のプロセスでは機能しません。これは、コールバックをトリガーしたプロセスではなく、最後のプロセスを返します。

4

2 に答える 2

5
var child = child_process.exec(..., function() {
    console.log( child.pid );
});

ドキュメントを読むことを強くお勧めします。すべての質問に対する答えが見つかるかもしれません。:)

// EDITループを使用してプロセスを作成する場合は、次のように使用します。

var create_child = function( i ) {
    // creates a seperate scope for child variable
    var child = child_process.exec(..., function() {
        console.log( child.pid );
    });
};

for (var i = 0; i < 100; i++) {
    // does not create a seperate scope
    create_child( i );
}

スコーピングの問題を回避するため。

于 2012-10-31T16:13:43.370 に答える
1

いくつかの検索と短いコーヒー ブレークの後、child_process.spawn が進むべき道であると確信しました。プロセスを処理するオブジェクト配列を作成し、終了時にそれらのプロセス オブジェクトを削除するとうまくいくようです。

参照: https://gist.github.com/3990987

于 2012-10-31T19:51:08.350 に答える