macOS 上的 /dev/tty.* 和 /dev/cu.* 有什么区别?

问题描述 投票:0回答:1

每个串行设备在

/dev
中显示两次,一次作为
tty.*
,一次作为
cu.*

cu.*
设备是什么?它与
tty.*
设备有何不同?

ls -l /dev/*.usbmodem621

输出:

crw-rw-rw-  1 root  wheel   11,   5 Dec 25 18:00 /dev/cu.usbmodem621
crw-rw-rw-  1 root  wheel   11,   4 Dec 25 18:00 /dev/tty.usbmodem621
macos serial-port tty
1个回答
128
投票

https://web.archive.org/web/20120602152224/http://lists.berlios.de/pipermail/gpsd-dev/2005-April/001288.html

这个想法是补充软件以共享传入和传出呼叫之间的线路。呼入设备(通常为 /dev/tty*)用于传入流量。只要硬件未断言 DCD(即只要调制解调器没有运营商),任何尝试打开它的进程都会在 open() 调用中阻塞。在此期间,呼出设备(通常为 /dev/cu* —— cu 代表“调用单元”)可以自由使用。打开 /dev/cu* 不需要断言 DCD,并且会立即成功。一旦成功,callin 设备上阻塞的 open() 将被挂起,甚至在 DCD 上升时也无法完成,直到 cu 设备再次关闭。

这样,你就可以让 getty 监听 /dev/tty*,并且仍然可以不受限制地使用 /dev/cu*。

© www.soinside.com 2019 - 2024. All rights reserved.