无法写入PTY - Linux的(cannot write to pty - linux)

2019-10-29 11:20发布

我很喜欢这样的权限创建的pty设备的所有者是CRW-W ----

mknod pty1 c 1 1
cat > pty1

告诉我不允许操作。

我想以后的事是,我打开使用开放和呼叫写入到输出发送到终端,就好像它是一个磁盘文件中的程序文​​件。

为什么不工作的猫。 我们可以写于pty 利用开放式写一个PTY读取

我们可以做到这一点从Java。 Java写的一个文件,实际上是一个PTY。

的问题来源: 迫使程序刷新其标准输出重定向时

更新 :是的问题并不清楚。 我是否需要添加更多的信息?

LS的输出-la

crw--w---- 1 iamrohitbanga users 1, 1 2010-01-13 18:27 pty1
crw--w---- 1 iamrohitbanga users 1, 2 2010-01-13 18:29 pty2

当我在做一个终端和猫的猫的/ dev / PTS / 0>的/ dev / PTS在另一个/ 0,我没有看到一个的输入得到转移到另一个。

Answer 1:

这不是pty终端是如何工作的; 你应该读man 4 ptyman 4 pts 。 (应不再使用旧的BSD风格的设备。)

为了打开一个伪终端从站(PTS,所述/dev/pts/#由返回ptsname(3)另一个程序必须创建一个伪终端主机(PTM,通过返回posix_openpt(3)并启用PTS与grantpt(3)unlockpt(3)

使用forkpty(3)等辅助函数比调用自己的低级别的功能容易得多。

即使在这之后,它不工作就像一个FIFO(你似乎在期待):写入到PTS东西出来的PTM,和任何从PTS读取从PTM写的。



文章来源: cannot write to pty - linux