我如何为我的应用程序中创建的每个线程打开单独的终端?

时间:2011-09-02 09:31:51

标签: c linux multithreading terminal

基本上看我有一个多线程应用程序,我希望在其中看到结果& printf和不同终端上每个线程的所有输出,所以我该怎么做。?

示例

如果在ma应用程序中创建了两个线程,那么我想为每个线程的输出打开两个单独的终端。

note: all i want to do in c language with my linux machine

1 个答案:

答案 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”即可 那个终端。