我必须运行一些交互式 shell 命令 inside node.js 。 让我们的交互式 shell 成为 $ 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();
这里代码不输出任何( 但是stdout应该是 2
) 。
但如果这样会有另一个问题: 如何使它成为交互式的? 当我调用 pythonChildProcess.stdin.end();
时进程结束 ! 但是我只是想结束stdin并编写下一个 !
如果我可以模拟 enter
按钮,我将能够交互式地写到进程。 但是在输入字符串的末尾添加 n
并没有帮助。