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