2010-08-10 55 views
0

我對Unix環境很陌生。如何在Linux中以C語言編程調用另一個終端輸出

我想有一個小聊天程序,初始終端用於輸入,並調用另一個終端輸出。我一直在尋找網頁,但沒有任何運氣。


OK,更具體,我在Mac中下在TCP/IP寫一個聊天程序我想輸入和聊天信息輸出分開在兩個不同的終端。我可以找到有關如何在進程之間進行通信的資源,但我不知道如何爲輸出調用另一個終端。

+1

我想你需要更具體,如果你想得到一個有意義的答案你的問題。例如,您可以詢問如何調用另一個終端,提供您正在使用的桌面環境(KDE,Gnome等)和終端程序的詳細信息。或者你可以問你可以用什麼方法讓兩個終端相互通信。 (FIFO管道,TCP/IP套接字,UNIX套接字,共享內存等)或者您可以選擇其中一個,並詢問您可以在哪裏找到指示如何使用它的資源。找出你需要知道的第一個,並編輯這個問題來反映它。 – 2010-08-10 02:42:18

回答

3

按照你似乎正在做的方式產生另一個終端是非常不尋常的。更清晰的方法是使用文件(或命名管道)從聊天程序接收輸出,然後在另一個終端上運行tail -f(或其他程序以正確格式化輸出)以顯示其內容。第一個終端將用於輸入(可能從stdin),第二個終端將接收輸出tail

的樣本命令行用法是:

  1. 運行聊天客戶端,發送任何輸出到名爲「輸出」文件:

    $ ./client [parameters] > output 
    
  2. 在另一終端中,顯示通過讀取該文件輸出:

    $ tail -f output 
    

請記住,您的聊天程序應該能夠同時處理兩個不同的輸入源(來自服務器和用戶的輸入消息),可能使用select()

+0

這似乎是一個可行的解決方案。謝謝 – shawn 2010-08-11 09:24:00

相關問題