簡體   English   中英

(Linux,C)兩個線程,屏幕中兩個獨立的文本窗口,該怎么辦?

[英](Linux, C) Two threads, two separate text windows in the screen, how to do it?

我有兩個線程。 主線程和其他兩個用* pthread_create *創建的線程,例如thread_1和thread_2。

主線程在我用來運行程序的終端中寫入輸出。 然后,我想創建兩個新窗口,其中thread_1和thread_2將寫入一些文本。

我試圖使用系統調用“ system()”並運行“ / bin / bash”,但此后沒有出現新的終端。

現在,我正在考慮使用一些圖形庫(g2,SDL ...)。

我在網上搜索了幾個小時,找不到一個好的解決方案。 我只需要在獨立的窗口中輸出文本,我就不需要任何類型的圖紙,而只需文本行。

我正在使用Linux Mint和C語言。

您需要程序來打開其他兩個窗口嗎? 如果不:

將每個線程寫入一個單獨的文件。 手動打開兩個以上的窗口。 在每個新窗口中使用bash命令“ tail -f”顯示每個文件的輸出。

想到的最接近的非GUI解決方案是ncurses

感謝您的建議。

我用Jay的提示解決了我的問題。

非常簡單 我把程序寫入數據到文件。 (最接近fifo的想法)

然后,在程序內部運行:

system("mate-terminal -e --command='tail -f filename.txt'");

和瞧! 它創建一個新的終端窗口並運行命令tail -f。

感謝您的回答,他們幫助我考慮了該解決方案。 我嘗試了ncurses,但是在安裝軟件包然后使用-lncurses標志進行編譯時遇到了問題。 我有一天會嘗試ncurses,但現在問題已解決。

再見

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM