1
基本上看到我有一個多線程應用程序,其中我想看到結果& printf和不同終端上的每個線程的所有輸出,所以我該怎麼做。如何爲我的應用程序中創建的每個線程打開單獨的終端?
例:
如果在毫安應用創建了兩個線程然後我想打開爲每個線程的輸出兩個獨立的端子。
note: all i want to do in c language with my linux machine
基本上看到我有一個多線程應用程序,其中我想看到結果& printf和不同終端上的每個線程的所有輸出,所以我該怎麼做。如何爲我的應用程序中創建的每個線程打開單獨的終端?
例:
如果在毫安應用創建了兩個線程然後我想打開爲每個線程的輸出兩個獨立的端子。
note: all i want to do in c language with my linux machine
下面是打印在不同的TTY的線的示例:
#include <stdio.h> #include <stdlib.h> int main(int argc, char ** argv) { char *path = argc > 1 ? argv[ 1 ] : "/dev/ttys017"; FILE *tty = fopen(path, "a"); if(tty == NULL) { perror(path); exit(EXIT_FAILURE); } fputs("a string\n", tty); }
每個線程可以打開一個FILE *上 命令行中指定的終端上。如果你想創建終端,你可以檢查openpty等的文檔。要獲取特定終端的 名稱,只需在終端的 shell中運行「tty」即可。
爲什麼「/ dev/ttys017」? – jondinham