创建用于进程间通信的终端设备

创建用于进程间通信的终端设备

我想知道如何创建一个终端设备来模拟通过串行端口连接的硬件。基本上,tty 设备具有一定的波特率,可以在两个进程之间读取和写入。据我了解,我正在寻找一个伪终端,并且makedev显然可以制作一个。

我还发现了以下一组说明:

su to root
cd /dev
mkdir pty
mknod pty/m0 c 2 0
mknod pty/s0 c 3 0
ln -s pty/m0 ttyp0
ln -s pty/s0 ptyp0
chmod a+w pty/m0 pty/s0

是否有更好的方法来制作伪终端,或者这几乎是在 shell 中制作伪终端的标准方法?

答案1

这可能就是创建 pty 设备文件的方式,但您不想在需要 pty 时就这样做。任何给定的机器通常都有已创建的 pty 设备文件的补充。

伪 TTY 是相当特定于操作系统的,并且您没有提及要在什么上执行此操作。对于现代 Linux,我会看一下openpty(3).您可以在 OpenSSH 源代码中找到工作示例代码,sshpty.c。您可能必须找到调用才能pty_allocate()完全理解的代码。

相关内容