UNIX编程,用fork,exec和管道进行分割屏幕

问题描述:

我想在UNIX上编写一个将屏幕或终端分成两半的程序,在新屏幕上产生一个新进程并使用发送的命令关闭它原本的。我使用C语言和GCC编译器进行编程。 据我所知,这可以通过运行fork + exec函数来创建单独的进程,并通过管道函数完成通信。UNIX编程,用fork,exec和管道进行分割屏幕

这是可能的,和/或它之前做过? 我非常想用我现有的项目来完成我的工作。

+0

你需要使用类似curses库的东西做屏幕分割。分叉不会进入它。 – 2014-11-25 04:29:32

+1

你试过了什么?用什么语言?它是如何工作或不工作的?你在处理流程,管道,拆分屏幕还有其他问题方面有问题吗? – 2014-11-25 04:30:09

+0

@JoachimPileborg我为这个模糊不清而道歉;我使用C语言和gcc编译器进行编码,并且在分割屏幕时遇到问题。我已经成功地运行了一个简单的程序,其中使用fork和exec创建了具有单独代码的新进程,并且已经使用pipe函数的最基本形式成功交换了数据,我应该详细说明这一部分吗? 我想知道是否有可能在新屏幕上运行新进程,以便我可以看到两个进程中发生的情况,更具体地说,不使用其他软件。 – user3240534 2014-11-25 12:40:48

当我做了类似于你所描述的事情时,我用screen来处理显示输出(特别是,-X选项,让它做分割窗口和启动命令)。我想tmux有类似的控制能力。我通常使用另一种机制(管道,套接字或文件)来协调进程之间的输入/输出。