【发布时间】:2011-11-27 12:06:05
【问题描述】:
我正在实现一个 netcat 克隆,目前需要一种通过网络运行命令行程序的方法。
到目前为止,我的解决方案是执行一个进程并为 STDIN 和 STDOUT 使用管道,然后通过 TCP 来回转发数据。
问题是,我觉得这是一种迂回的做事方式。当我运行 bash 时,提示没有出现,并且我无法使用 ncurses 程序,例如 Vi。
有没有更简单的方法来控制 C 程序的输入和查看程序的输出,或者管道是我最好的选择?
这是我的一段代码(点击一下,很直观):
我在 GNU/Linux 中使用 C。
【问题讨论】:
-
您的解决方案将提供哪些
ssh没有的功能? -
你能澄清你的问题吗?您想从您的 netcat 克隆发送命令,但又希望它立即返回以便您可以再次使用控制台?
-
duskwuff 是正确的,我应该以 telnetd 为例。看起来 pty 就是我要找的东西。看来我只能使用系统调用创建一个。
-
关于您的评论 Brian Cain,我这样做是为了强迫自己学习,而不是因为我对 SSH 不满意。实际上,我对 SSH 很满意。 :3