繁体   English   中英

如何在Linux中的C中以编程方式调用另一个终端以进行输出

[英]How to invoke another terminal for output programmatically in C in Linux

我是Unix环境的新手。

我想要一个小的聊天程序,将初始终端用于输入,并调用另一个终端进行输出。 我一直在网上搜索,但没有任何运气。


好的,更具体地说,我正在C中的Mac上通过TCP / IP编写聊天程序。我想在两个不同的终端中分离输入和聊天消息输出。 我可以找到有关如何在进程之间进行通信的资源,但是我不知道如何为输出调用另一个终端。

以您似乎正在做的方式生成另一个终端是非常不寻常的。 较干净的方法是使用文件(或命名管道)从聊天程序接收输出,然后在另一个终端上运行tail -f (或其他程序以正确格式化输出)以显示其内容。 第一个终端将用于输入(可能来自stdin ),第二个终端将接收tail的输出。

命令行用法示例为:

  1. 运行聊天客户端,将所有输出发送到名为“ output”的文件:

     $ ./client [parameters] > output 
  2. 在另一个终端中,通过读取此文件来显示输出:

     $ tail -f output 

请记住,您的聊天程序应该可以同时使用select()处理两个不同的输入源(来自服务器和用户的传入消息select()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM