Experimental
New in Firefox 30.
An implementation of the node.js child_process
API.
This module enables you to execute a child program in a new process. Since it emulates the node.js child_process
API, it's not documented separately here. However, there are a few differences to be aware of:
- you need to require() the module using
require("sdk/system/child_process")
fork()
is not supportedgid
anduid
are not supported- in node.js,
spawn()
andexec()
inherit the environment variables from the parent process, by default. The SDK versions don't: so when you specify a command you must pass in a complete path to the command or use theenv
option to set up the child process environment.
Here's an example that adapts the example in node's documentation for spawn()
:
var child_process = require("sdk/system/child_process"); var ls = child_process.spawn('/bin/ls', ['-lh', '/usr']); ls.stdout.on('data', function (data) { console.log('stdout: ' + data); }); ls.stderr.on('data', function (data) { console.log('stderr: ' + data); }); ls.on('close', function (code) { console.log('child process exited with code ' + code); });