有没有办法在Linux(Ubuntu 14.04)上复制串行设备/dev/ttyUSB0?
我制作了一个从RS232端口读取数据的程序,我想并行执行具有不同选项的程序的两个实例。但是,我无法从我的程序中打开/dev/ttyUSB0 两次(用 C 编写)。
理想情况下,我希望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
的匿名管道读取。不过,这种对称处理更干净一些。