如何从另一个tty重定向输入?

时间:2015-07-15 20:51:23

标签: linux cat tty procfs

当我在说cat -中运行/dev/pts/2并尝试使用echo foo > /dev/pts/2echo foo > /proc/(pid of cat)/fd/0从另一个tty写入其输入时,它只会在pts / 2中打印foo,cat不重复它。为什么? 如何从另一个tty向cat发送输入,所以它也重复它?

2 个答案:

答案 0 :(得分:1)

每个终端都有一个文件,在/ dev / pts /.

  

$ ps

确定您所在的终端。示例:我在3号航站楼

  

PID TTY TIME CMD

     

1477 pts / 3 00:00:00 ps

     

26511 pts / 3 00:00:01 bash

不只是将输出重定向到该终端。

  

cat foo>的/ dev / PTS / 3

在第二个终端上制作先进先出管道,你要在上显示文本

mkfifo --mode=600 /tmp/pipe

将命令重定向到第一个终端上的该管道

cat foo > /tmp/pipe

答案 1 :(得分:0)

我认为这里有一个根本的误解:你不能将内容注入另一个TTY的输入流(除非你拥有主人)。

但是,您可以呼叫cat /dev/pts/0从另一个TTY的输入流中读取,但请注意,您将与已经存在的任何进程进行战斗。