I need to spawn a child process from node.js
, whilst using ulimit
to keep it from using to much memory.
Following the docs, it wasn't hard to get the basic spawn working: child = spawn("coffee", ["app.coffee"])
.
However, doing what I do below just makes the spawn die silently.
child = spawn("ulimit", ["-m 65536;", "coffee app.coffee"])
If I would run ulimit -m 65536; coffee app.coffee
- it works as intented.
What am I doing wrong here?
Those are two different commands. Don't club them if you are using spawn
. Use separate child processes.
child1 = spawn('ulimit', ['-m', '65536']);
child2 = spawn('coffee', ['app.coffee']);
If you are not interested in output stream(if you want just buffered output) you can use exec
.
var exec = require('child_process').exec,
child;
child = exec('ulimit -m 65536; coffee app.coffee',
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
}
});