MacOS: /dev/tty.* ve /dev/cu.* arasındaki fark nedir?


89

Her seri aygıt, /devbir tty.*kez ve bir cu.*.

Nedir cu.*cihaz? tty.*Cihazdan farkı nedir?

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

Yanıtlar:


99

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

Buradaki fikir, yazılımı gelen ve giden aramalar arasında bir hat paylaştırmaktır. Çağrı cihazı (tipik olarak / dev / tty *) gelen trafik için kullanılır. DCD, donanım tarafından onaylanmadığı sürece (yani modemin bir taşıyıcısı olmadığı sürece), onu açmaya çalışan herhangi bir işlem open () çağrısı içinde engeller. Bu sırasında, belirtme aygıtı (tipik olarak / dev / cu * - cu, "çağıran birim" anlamına gelir) serbestçe kullanılabilir. / Dev / cu * 'nun açılması, DCD'nin onaylanmasını gerektirmez ve hemen başarılı olur. Başarılı olduktan sonra, çağrı cihazındaki bloke açık () askıya alınacak ve cu cihazı tekrar kapatılana kadar DCD kaldırıldığında bile tamamlanamayacaktır.

Bu şekilde, / dev / tty * üzerinde getty dinleme yapabilirsiniz ve yine de / dev / cu * 'yu kısıtlama olmadan kullanabilirsiniz.


Teşekkürler Tom, tam da bilmem gereken buydu.
Mark Harrison

Doğru, bir durum, seri bağlantı noktası verilerini yakalamak için 'cat' (Unix ve arkadaşlarda) kullanmak istiyorsanız, 'cat /dev/cu.xxxx> file.txt' gibi çalışmayan ' tty. ' engelleme nedeniyle. En azından MacO'larda değil.
nyholku

Tty aracılığıyla bir şeyler gönderebildim. Neden?
StackOverflowOfficial

@MarkHarrison ve Tom: Yani, çoğu durumda, seri bağlantı noktasıyla konuşmak için süslü olmayan bir program yazıyorsam, / dev / tty * aygıtını kullanmam gerektiğini varsayıyorum, doğru mu?
ptdecker
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.