我目前正在尝试使用ncurses编写一个最小化的终端复用器。然而,当我尝试使用
如何防止这种情况发生并让ncurses控制它?有没有一种方法可以获取tty并对其进行控制?
编辑
感谢评论中的Ross Ridge,我现在知道我需要创建一个伪终端,然后将其读入到ncurses窗口中。但是,我无法弄清楚如何在ncurses窗口中打印stdout。是否有一个ncurses函数可以读取文件描述符?还是我必须使用
execv
来运行shell时,它不会在窗口中打印输出,并且启动了一个新的子进程来控制窗口(即忽略了ncurses)。如何防止这种情况发生并让ncurses控制它?有没有一种方法可以获取tty并对其进行控制?
编辑
感谢评论中的Ross Ridge,我现在知道我需要创建一个伪终端,然后将其读入到ncurses窗口中。但是,我无法弄清楚如何在ncurses窗口中打印stdout。是否有一个ncurses函数可以读取文件描述符?还是我必须使用
read()
和printw()
来实现?