linux往另一个tty输入命令并执行的方法

来源:互联网 发布:手机淘宝如何代付 编辑:程序博客网 时间:2024/06/02 16:29

摘录自这里喔
就假如有一个交互式的程序跑在/dev/pts/1上,但是这个交互程序不是很完善,没有类似shell的条件语句,那么我就可以通过这种方式,用另一个tty跑的shell来控制各种循环语句,生成对应的命令写给私有交互程序,就像你自己通过键盘输入一样。

#include <sys/ioctl.h>#include <termios.h>#include <stdio.h>#include <stdlib.h>void stackchar(char c){        if (ioctl(0, TIOCSTI, &c) < 0) {                perror("ioctl");                exit(1);        }}int main(int argc, char *argv[]){        int i, j;        char c;        for (i = 1; i < argc; i++) {                if (i > 1) stackchar(' ');                for (j=0; (c = argv[i][j]); j++) {                        stackchar(c);                }        }        stackchar('\n');        exit(0);}
0 0