23

から子プロセスを生成する必要がありますが、node.jsそれulimitを使用して多くのメモリを使用しないようにします。

ドキュメントに従って、基本的なスポーンを機能させるのは難しくありませんでした: child = spawn("coffee", ["app.coffee"]).

ただし、以下で行うことを行うと、スポーンが静かに死ぬだけです。

child = spawn("ulimit", ["-m 65536;", "coffee app.coffee"])

私が実行するulimit -m 65536; coffee app.coffeeと、意図したとおりに機能します。

ここで何が間違っていますか?

4

1 に答える 1

26

これらは 2 つの異なるコマンドです。を使用している場合は、それらをクラブにしないでくださいspawn。別の子プロセスを使用します。

 child1 = spawn('ulimit', ['-m', '65536']);
 child2 = spawn('coffee', ['app.coffee']);

出力ストリームに関心がない場合 (バッファリングされた出力だけが必要な場合) を使用できますexec

var exec = require('child_process').exec,
child;

child = exec('ulimit -m 65536; coffee app.coffee',
  function (error, stdout, stderr) {
    console.log('stdout: ' + stdout);
  }
});
于 2012-10-08T11:17:57.473 に答える