赞
踩
有时候调试需要 但是没有串口 使用telnet ssh远程登录的时候 不能显示启动时候运行的程序的打印 这个时候需要重定向
源码:
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7
8 int main(int argc, char *argv[])
9 {
10 int tty = -1;
11 char *tty_name = NULL;
12
13 if(argc < 2)
14 {
15 printf("miss argument\n");
16 return 0;
17 }
18
19 /* 获取当前tty名称 */
20 tty_name = ttyname(STDOUT_FILENO);
21 printf("tty_name: %s\n", tty_name);
22
23 if(!strcmp(argv[1], "on"))
24 {
25 /* 重定向console到当前tty */
26 tty = open(tty_name, O_RDONLY | O_WRONLY);
27 ioctl(tty, TIOCCONS);
28 perror("ioctl TIOCCONS");
29 }
30 else if(!strcmp(argv[1], "off"))
31 {
32 /* 恢复console */
33 tty = open("/dev/console", O_RDONLY | O_WRONLY);
34 ioctl(tty, TIOCCONS);
35 perror("ioctl TIOCCONS");
36 }
37 else
38 {
39 printf("error argument\n");
40 return 0;
41 }
42
43 close(tty);
44 return 0;
45 }
标签:tty,return,name,串口,telnet,ioctl,linux,include,TIOCCONS
来源: https://www.cnblogs.com/ChenChangXiong/p/11357458.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。