2013-10-29 9 views
5

वर्तमान स्क्रिप्ट के समानांतर बाहरी प्रक्रिया नोड-वेबकिट (या node.js) में सिस्टम कमांड निष्पादित करने के लिए कैसे करें।नोड-वेबकिट बाहरी कमांड निष्पादित करता है?

मैं child_process का उपयोग करने की कोशिश कर रहा हूं। मेरी स्क्रिप्ट सबप्रोसेस के बाधा के बाद बाहर निकलें। हालांकि मैं एक आसान तरीका उत्पादन के बिना या उत्पादन के साथ, लेकिन कार्यक्रम बंद के बिना बैश आदेश पर अमल जब मेरी स्क्रिप्ट बाधित हो जाएगा की जरूरत है।

मुझे एक सही सरल तरीका चाहिए।

धन्यवाद सब कुछ।

उत्तर

10

उपयोग detached अंडे में विकल्प/निष्पादित तर्क:

अलग विकल्प सेट है, तो बच्चे की प्रक्रिया एक नई प्रक्रिया समूह के नेता बनाया जाएगा। यह यह संभव के लिए बच्चे के माता पिता बाहर निकलता है के बाद उनका प्रदर्शन जारी रहेगा के लिए बना देता है।

डिफ़ॉल्ट रूप से, माता-पिता अलग बच्चे को बाहर निकलने के लिए इंतजार करेंगे। माता-पिता को किसी दिए गए बच्चे की प्रतीक्षा करने से रोकें, child.unref() विधि का उपयोग करें, और अभिभावक के ईवेंट लूप में बच्चे को इसके संदर्भ संख्या में शामिल नहीं किया जाएगा।

एक फाइल करने के लिए एक लंबी चलने वाली प्रक्रिया अलग करने और इसके उत्पादन पुन: निर्देशित होने

उदाहरण:

var fs = require('fs'), 
    spawn = require('child_process').spawn, 
    out = fs.openSync('./out.log', 'a'), 
    err = fs.openSync('./out.log', 'a'); 

var child = spawn('prg', [], { 
    detached: true, 
    stdio: [ 'ignore', out, err ] 
}); 

child.unref(); 
संबंधित मुद्दे