怎么从 child_process 的标准输入 stdin 写入数据, 并同步地在 stdout 等待数据
var spawn = require("child_process").spawn;
var binaryFile = /home/user/a.out;
var gdb = spawn('gdb',[binaryFile]);
gdb.stdout.setEncoding('utf8');
gdb.stderr.setEncoding('utf8');
gdb.stdin.setEncoding('utf8');
console.log("开始调试");
gdb.stderr.on('data',function(data)
{
return false;
});
从客户端得到命令,就写到gdb的标准输入
socket.on('command',function(commandString)
{
gdb.stdin.write(commandString+"\n");
});
从标准输出得到数据
gdb.stdout.on('data',function(data)
{
socket.emit('executeSuccess',{commandResult:data});
});
问题是,怎么样才能做到, 保证输入一条命令,并且得到该条命令的执行结果呢.
比如传入命令 next
怎么保证能得到 next
的执行结果
因为这些操作都是异步执行的
1 回复