使用pexpect跳过子进程的stdin和stderr
1 个回答
3
使用伪终端(pty)和管道(pipe)并不是一回事。如果你不把它设置为原始模式,终端驱动程序会把你输入的字符回显出来,还会进行其他的行编辑。所以为了确保数据传输干净,你需要把伪终端/终端设置为原始模式。
因为你现在使用的是一个伪设备,所以只有一个输入输出流。在这里,标准输出(stdout)和标准错误(stderr)没有区别(这是用户空间的约定)。所以当你使用伪终端/终端时,你总是会看到标准输出和标准错误混在一起。