基本上看我有一个多线程应用程序,我希望在其中看到结果& printf和不同终端上每个线程的所有输出,所以我该怎么做。?
示例:
如果在ma应用程序中创建了两个线程,那么我想为每个线程的输出打开两个单独的终端。
note: all i want to do in c language with my linux machine
答案 0 :(得分:2)
这是一个在不同的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”即可 那个终端。