Ho uno script che emette "hi", dorme per un secondo, emette "hi", dorme per 1 secondo e così via e così via. Ora pensavo di essere in grado di affrontare questo problema con questo modello.Node.js genera il processo figlio e ottiene l'uscita terminale live
var spawn = require('child_process').spawn,
temp = spawn('PATH TO SCRIPT WITH THE ABOVE BEHAVIOUR');
temp.stdout.pipe(process.stdout);
Ora il problema è che l'attività deve essere completata affinché l'output sia visualizzato. Come lo sto capendo, questo è dovuto al fatto che il processo appena generato prende il controllo dell'esecuzione. Ovviamente node.js non supporta i thread quindi nessuna soluzione? La mia idea era di eseguire probabilmente due istanze, la prima per lo scopo specifico di creare l'attività e farla canalizzare l'output per processare la seconda istanza, considerando che questo può essere ottenuto.
punti di bonus se si può spiegare come fare questo con exec() come ho bisogno di eseguire una shell cmd. – DynamicDan
Puoi usare 'child.spawn()' con l'opzione 'shell' impostata su' true'. https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options – CedX
È inoltre possibile reindirizzare child.stdout direttamente a process.stdout con 'child.stdout.pipe (process.stdout);' – darkadept