Per esempio amore, sto correndo il server web più fondamentale nel nodo (sto usando Windows) con il seguente codice (denominato server.js):display esecuzione processo figlio uscita in nodejs (finestre)
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
Vorrei eseguire questo come un processo figlio, e sto facendo con successo così con il seguente:
var exec = require('child_process').exec;
var serv = exec('node server.js', function(error, stdout, stderr){
console.log('outputs & errors:' + error, stdout, stderr);
});
Tuttavia, ricevo nulla una volta che ho eseguito il secondo file. No "output & errori", no "Server in esecuzione a ...". Se digito localhost: 1337 in un browser, ottengo "Ciao mondo", quindi so che è in esecuzione. C'è un modo per convogliare quel "server in esecuzione ..." così posso essere "sicuro" che stia ascoltando?
Fantastic. Avevo guardato la progenie, ma ho trascurato di guardare Fork, che sembra essere esattamente ciò di cui ho bisogno. – AberZombie
È possibile ottenere la colorazione di lavoro durante lo streaming dello stdout figlio? Per esempio sto eseguendo un altro comando gulp che normalmente ha una bella resa colorata, ma quando i due tubi sono collegati, l'uscita dal gulp figlio appare come caratteri bianchi che perdono la colorazione. – Corneliu
Ho trovato la risposta: http://stackoverflow.com/questions/7725809/preserve-color-when-executing-child-process-spawn – Corneliu