2012-06-05 15 views
6

Esistono numerosi esempi di nodi js in linea su come generare un processo figlio e quindi catturare il risultato come una stringa per la propria elaborazione.interagisce con l'applicazione shell

Ma ...

voglio 'interagire' con un processo figlio. Ad esempio, come scrivere un nodo js application che inizia chiamando 'python' e quindi digita un'istruzione '1+1', mi consente di catturare il risultato '2', prima di procedere alla digitazione di un'altra istruzione arbitraria '4+4'?

(E per "tipo" presumo che richiederà lo streaming dei dati allo stdin utilizzato dal processo).

+0

Questo video mostra anche cosa sto cercando di fare (alle 3:52) http://www.youtube.com/watch?v=16nFMucvwYQ – Trindaz

risposta

7
var child = require('child_process'); 
var ps = child.spawn('python', ['-i']); 
ps.stdout.pipe(process.stdout); 
ps.stdin.write('1+1'); 
ps.stdin.end(); 

funziona a meraviglia!

Problemi correlati