क्या नोड.जेएस के भीतर से किसी बाहरी कार्यक्रम को निष्पादित करना संभव है? क्या पायथन os.system()
या किसी लाइब्रेरी के बराबर है जो इस कार्यक्षमता को जोड़ता है?
क्या नोड.जेएस के भीतर से किसी बाहरी कार्यक्रम को निष्पादित करना संभव है? क्या पायथन os.system()
या किसी लाइब्रेरी के बराबर है जो इस कार्यक्षमता को जोड़ता है?
जवाबों:
var exec = require('child_process').exec;
exec('pwd', function callback(error, stdout, stderr){
// result
});
child_process
।
निष्पादन में 512k के बफर आकार की मेमोरी सीमा है। इस मामले में स्पॉन का उपयोग करना बेहतर है। स्पॉन के साथ एक रन टाइम में निष्पादित कमांड के स्टडआउट तक पहुंच होती है
var spawn = require('child_process').spawn;
var prc = spawn('java', ['-jar', '-Xmx512M', '-Dfile.encoding=utf8', 'script/importlistings.jar']);
//noinspection JSUnresolvedFunction
prc.stdout.setEncoding('utf8');
prc.stdout.on('data', function (data) {
var str = data.toString()
var lines = str.split(/(\r?\n)/g);
console.log(lines.join(""));
});
prc.on('close', function (code) {
console.log('process exit code ' + code);
});
stderr
बजाय हो सकता है stdout
। मेरे मामले में हालांकि close
कभी नहीं आ रहा है ...
Node.js प्रलेखन से:
नोड चाइल्डप्रोसेस वर्ग के माध्यम से त्रि-दिशात्मक पॉपेन (3) सुविधा प्रदान करता है।
Http://nodejs.org/docs/v0.4.6/api/child_processes.html देखें
child_process
मॉड्यूल का उपयोग करना चाहते हैं । प्रलेखन देखें , जो विभिन्न उपयोग के मामलों के कई स्पष्ट उदाहरण प्रदान करता है।