Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
附加到C中的进程_C_Linux - Fatal编程技术网

附加到C中的进程

附加到C中的进程,c,linux,C,Linux,我正在实施netcat克隆,目前需要一种通过网络运行命令行程序的方法 到目前为止,我的解决方案是执行一个进程并使用STDIN和STDOUT的管道,然后通过TCP来回转发数据 问题是,我觉得这是一种迂回的做事方式。当我运行bash时,不会出现提示,并且我无法使用ncurses程序,比如Vi 有没有一种更简单的方法来控制C语言中程序的输入和输出,或者管道是我最好的选择 这里是我代码的一部分(点击它,它非常直观): 我将C与GNU/Linux一起使用。使用管道无法获得正确的终端行为——您需要使用a才

我正在实施netcat克隆,目前需要一种通过网络运行命令行程序的方法

到目前为止,我的解决方案是执行一个进程并使用STDIN和STDOUT的管道,然后通过TCP来回转发数据

问题是,我觉得这是一种迂回的做事方式。当我运行bash时,不会出现提示,并且我无法使用ncurses程序,比如Vi

有没有一种更简单的方法来控制C语言中程序的输入和输出,或者管道是我最好的选择

这里是我代码的一部分(点击它,它非常直观):


我将C与GNU/Linux一起使用。

使用管道无法获得正确的终端行为——您需要使用a才能获得正确的结果


请注意,您试图在这里编写的内容本质上是
telnetd

您的解决方案提供了
ssh
没有的功能?您能澄清您的问题吗?您希望从netcat克隆发送命令,但希望它以中间方式返回,以便可以再次使用控制台?duskwuff是正确的,我应该使用telnetd作为示例。看起来pty就是我要找的。似乎我只能使用syscalls创建一个。关于您的评论Brian Cain,我这样做是为了强迫自己学习,而不是因为我对SSH不满意。实际上,我对宋承宪很满意3.