MacOS: в чем разница между /dev/tty.* и /dev/cu.*? - PullRequest
77 голосов
/ 26 декабря 2011

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

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

mh@maru ~ --> 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 Ответ

82 голосов
/ 26 декабря 2011

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

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

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

...