这个图像显示了伪终端是如何工作的:
如果打开了两个终端模拟器,则可以将字符串"Hello"
从第一个终端模拟器发送到第二个终端模拟器:
echo "Hello" > /dev/pts/1
当执行此命令时,字符串"Hello"
将从第二伪终端的从端传递到第二伪终端的主端,然后显示在第二终端模拟器上。
现在是否有可能向相反的方向发送数据,即将数据发送到shell,而不是终端模拟器(或正在运行的进程)?
发布于 2020-07-31 20:52:38
TIOCSTI的工作原理如蓟马在上面的评论中所说:https://stackoverflow.com/a/29615101/2995591
发布于 2017-09-06 11:19:20
每个过程都有3个默认的“文件描述符”。
0 is stdin (standart input)
1 is stdout (standart output)
2 is stderr (standart error output)
您需要找到shell进程的PID,然后可以执行以下操作:
echo "test" > /proc/{your_shell_pid}/fd/1
这将在shell进程的standart输出中打印测试。
https://unix.stackexchange.com/questions/365256
复制相似问题