自己编写代码PTY伪终端仿真/在Unix上的C中控制交互式命令

问题描述

我的梦想是在Unix上用C编写一个伪终端仿真代码。 到目前为止,我的成就:

  • 我可以与shell外壳交互并执行非交互命令。
  • 首先让我的程序派生一个子进程来执行该命令,然后将其输出通过管道传递给父级,然后将其写入屏幕/ STDIN_FILENO。

我的问题: 每当我产生任何新的交互式过程(如“ csh”外壳)时,我都无法与之交互。 您如何实现对交互过程的控制?

// CHILD
if ((rc = execlp("/bin/bash","bash",NULL) < 0) {
    perror(“[-] Execution“);
    exit(1)
}

这足以与交互式命令进行交互吗?

Thx

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)