如何复制 /dev/ttyUSB0 流?
how to duplicate /dev/ttyUSB0 stream?
有没有办法在 Linux (Ubuntu 14.04) 上复制串行设备 /dev/ttyUSB0?
我制作了一个从 RS232 端口读取数据的程序,我想并行执行我的程序的两个不同选项的实例。但是,我无法从我的程序(用 C 编写)中打开 /dev/ttyUSB0 两次。
理想情况下,我希望 ttyUSB0 驱动程序创建两个相同的设备。 (/dev/ttyUSB0 和 /dev/ttyUSB1)。驱动程序会确保 ttyUSB1 是 ttyUSB0 的精确副本。
有没有办法从命令行执行此操作 (bash) 还是我应该制作自己的特殊串行端口驱动程序?
您可以使用 tee
将写入 /dev/ttyUSB0
的任何内容输出到两个命名管道。
mkfifo copy1 copy2
tee copy1 copy2 < /dev/ttyUSB0 > /dev/null &
program1 < copy1
program2 < copy2
(严格来说,您只需要一个命名管道;另一个程序可以从直接连接到 tee
的匿名管道读取数据。不过,这种对称处理稍微简洁一些。)
有没有办法在 Linux (Ubuntu 14.04) 上复制串行设备 /dev/ttyUSB0?
我制作了一个从 RS232 端口读取数据的程序,我想并行执行我的程序的两个不同选项的实例。但是,我无法从我的程序(用 C 编写)中打开 /dev/ttyUSB0 两次。
理想情况下,我希望 ttyUSB0 驱动程序创建两个相同的设备。 (/dev/ttyUSB0 和 /dev/ttyUSB1)。驱动程序会确保 ttyUSB1 是 ttyUSB0 的精确副本。
有没有办法从命令行执行此操作 (bash) 还是我应该制作自己的特殊串行端口驱动程序?
您可以使用 tee
将写入 /dev/ttyUSB0
的任何内容输出到两个命名管道。
mkfifo copy1 copy2
tee copy1 copy2 < /dev/ttyUSB0 > /dev/null &
program1 < copy1
program2 < copy2
(严格来说,您只需要一个命名管道;另一个程序可以从直接连接到 tee
的匿名管道读取数据。不过,这种对称处理稍微简洁一些。)