में बहुत धन्यवाद Node.js प्रलेखन से:
डिफ़ॉल्ट रूप से, माता-पिता अलग बच्चे बाहर निकलने के लिए इंतजार करेगा। किसी दिए गए बच्चे के लिए इंतजार कर से माता-पिता को रोकने के लिए child.unref() विधि का उपयोग करें, और माता पिता की घटना पाश इसके संदर्भ गिनती में बच्चे शामिल नहीं होंगे।
अलग विकल्प का उपयोग करते एक लंबी चलने वाली प्रक्रिया शुरू करने के लिए, इस प्रक्रिया को जब तक यह एक stdio विन्यास कि माता-पिता से जुड़ा नहीं है के साथ प्रदान की जाती है पृष्ठभूमि में चल नहीं रहेंगे। यदि माता-पिता के स्टेडियो को विरासत में मिला है, तो बच्चे नियंत्रण टर्मिनल से जुड़े रहेंगे।
आप इस तरह अपने कोड कुछ संशोधित करने की आवश्यकता:
#!/usr/bin/node
var fs = require('fs');
var out = fs.openSync('./out.log', 'a');
var err = fs.openSync('./out.log', 'a');
var cp = require('child_process');
var MANFILE='ALengthyNodeManual.pdf';
var child = cp.spawn('gnome-open', [MANFILE], { detached: true, stdio: [ 'ignore', out, err ] });
child.unref();
स्रोत
2012-10-13 09:35:40
धन्यवाद एक गुच्छा! यह काम करता हैं। –
आप stdin, stdout, stderr के लिए "अनदेखा" सेट कर सकते हैं: 'stdio: ['अनदेखा'/* stdin * /, 'अनदेखा करें'/* stdout * /, 'अनदेखा करें'/* stderr * /]' –