簡體   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