Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.
Expérimentale
Une mise en œuvre de l'API node.js child_process
.
Ce module vous permet d'exécuter un programme sous-jacent dans un nouveau processus. Il émule l'API node.js child_process
, qui n'est pas documentées séparément. Cependant, il ya quelques différences :
- utiliser le module
require("sdk/system/child_process")
fork()
n'est pas supportégid
etuid
ne sont pas supportés- dans node.js,
spawn()
etexec()
hériter des variables d'environnement du processus parent, par défaut. Les versions du SDK ne le font pas: alors quand vous spécifiez une commande, vous devez passer le chemin d'accès complet de la commande ou utilisez l'optionenv
pour configurer l'environnement de processus enfant .
Voici un exemple qui adapte l'exemple de la documentation de node.js pour 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); });
Utilisation child_process dans les extensions non-jpm
// Import SDK Stuff const COMMONJS_URI = 'resource://gre/modules/commonjs'; const { require } = Cu.import(COMMONJS_URI + '/toolkit/require.js', {}); var child_process = require('sdk/system/child_process'); // Use it in the same way as in the example above