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