I have to run some interactive shell command inside node.js. Lets our interactive shell be $ python
:
var cp = require('child_process');
var pythonChildProcess = cp.spawn('python');
pythonChildProcess.stdout.on("data", function(data) {
console.log('data successfully written!', data); // never outputs anything
});
pythonChildProcess.stdin.write('1 + 1');
pythonChildProcess.stdin.end();
This code does not output anything (but stdout should be 2
).
But if it would, there will be another problem: how to make it interactive? The process ends when I call pythonChildProcess.stdin.end();
! But I just wanted to end stdin and write next stdin!
UPD:
If I could emulate pressing of enter
button - I would be able to interactively write to the process. But adding
to the end of the input string does not help.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…