MacOS: какая разница между /dev/tty.* и/dev/cu.*?

Каждое последовательное устройство дважды появляется в /dev, один раз как tty.* и один раз как cu.*.

Что такое устройство cu.*? Как он отличается от устройства tty.*?

[email protected] ~ --> 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

Ответ 1

http://lists.berlios.de/pipermail/gpsd-dev/2005-April/001288.html:

Идея состоит в том, чтобы дополнить программное обеспечение, разделяя линию между входящими и исходящими вызовами. Callin-устройство (обычно/dev/tty *) используется для входящего трафика. Любой процесс, пытающийся открыть его, блокируется в вызове open(), пока DCD не утверждается аппаратным обеспечением (т.е. До тех пор, пока у модема нет несущей). Во время этого может быть свободно использовано устройство выноски (обычно/dev/cu * - cu означает "вызывающий блок" ). Открытие /dev/cu * не требует, чтобы DCD утверждался и сразу же удался. После успешного завершения блокировка open() на устройстве callin будет приостановлена ​​и даже не может завершиться, когда DCD будет поднят до тех пор, пока устройство cu не будет закрыто снова.

Таким образом, вы можете прослушивать getty на /dev/tty * и все равно использовать /dev/cu * без ограничений.