Linux打开多个虚拟终端,运行测试下程序。

#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#include<stdlib.h>
#define TTY0 "/dev/pts/0"       //终端设备文件名
#define TTY1 "/dev/pts/1"
#define TTY2 "/dev/pts/2"
#define TTY3 "/dev/pts/3"
void tty_write(char* tty,char* buf)
{

    int fd = -1;
        fd = open(tty,O_RDWR);
        if(fd < 0){
                printf("open tty err\n");
                exit(0);
        }
        write(fd,buf,strlen(buf));
        close(fd);
}
int main()
{
        char buf[] = "test tty...\n";
        char tty[32];
        strcpy(tty,TTY1);
        tty_write(tty,buf);
        strcpy(tty,TTY3);
        tty_write(tty,buf);
        return 0;
}