Soru: Bir Pty veya tty Master/Slave çift varsa sadece köle varsa
, ben onunla ne değildirolabilir düğümün dosya tanıtıcısı? Veya başka bir yol belirtin: sadece ana düğümün dosya tanıtıcısına sahip olabilir miyim? PTY/TTY - Sadece Slave FD ile NELERİ YAPAMAZ
Benim Güncel Anlama:[değiştir] hiç bir insanla arabirim için ana ucuna sahip bir terminal/konsol/SSH "tipik" bir ilişki grok
ve bir veya daha fazla program (örn bir kabuk ve onun çocukları süreçleri) köle sonunda olmak. Ve ben (gevşek) daha fazla sıra dışı (/ arkaik?) Yararları, PPP gibi başka türdeki veri bağlantıları için bir TTY kullanmak gibi. Bu soru, numaralı numaralı "Bu TTY işini almadım" sorusudur. ("Düşük düzey"?) "API" öğelerini istiyorum: ör. Master FD'ye erişiminiz yoksa, tty paritesinde herhangi bir termos/ioctl manipülasyonu veya diğer programatik değişiklikler var mı?
[/ değiştir]
ben belirgin olanları tahmin: Ben usta end en FD varsa
- Ben yalnızca ana ucundan okuma/yazma edebilirsiniz.
- hibe/unlockpt/ptsname yalnızca ana uçun FD'sinde kullanılabilir.
Başka bir şey var mı?
Bazı adam sayfalarını okumak ve Linux makinelerimi denemekle uğraştım/devre dışı bıraktım: Bir pty ile (örneğin, stty columns 78
, vb.) Yapmak isteyecek temel şeyler "her iki ucunda" çalışıyor gibi görünüyor. Ama ben sadece bir şey bilirim ki, sadece bir master tanımının dosya tanımlayıcısını tutan bir süreç vardır (özellikle master-slave adı ikilemi tek taraflı kontrol/hakimiyet önermektedir). Ve tabii ki sadece Linux üzerinde test ettiğim için, Linux'un çeşitli sürümleri/yapılandırmaları ile Unix'lerin arasındaki olası davranış farklılıkları var, bu yüzden gördüğüm şeyin taşınabilir olduğunu varsaymak istemiyorum.
Motivasyon
- Genel bilgi/merakı (durumda birileri bilmek istiyorum neden bilmek istiyor).
- Ptys ile çalışmak için mevcut komut satırı araçlarının seçimine aşık değilim. detaya girmeden, G/
empty
expect
,/tmux
screen
(/neercs
?reptyr
benzeri özelliği ile bir),dtach
/abduco
ve bunların hiçbiri minimalist yönlülük benim Sweetspot vurmak,reptyr
,ptyget
baktım. Daha bilinçli olmaya çalışıyorum, böylece mevcut çözümleri daha iyi değerlendirebilirim ve/veya kendi kaşıntılarımı çizmek için kendi araçlarımı daha iyi tasarlayabilirim.
Her iki uca da yazabilir/yazabilir ve farklı şeyler yapabilirsiniz. Slave işletim sisteminin terminal aygıtıdır, master ise tuşa basma ve program çıkışı alma şeklinizdir. –
@thatotherguy Evet, teşekkürler: Yorumunuz, soru (ve mevcut anlayış) bölümlerinin belirsiz olduğunu ortaya çıkardı. Ana bölümden "okuma/yazma" demek istediğim, doğal olarak yalnızca ana düğümün FD'si varsa ve genel olarak ne istediğimi açıklığa kavuşturmak için yapabileceğim şeylerden biri olduğunu açıklığa kavuşturmak için yazıyı düzenledim. – mtraceur
* master-slave adı dikotomi, bazı tek taraflı kontrol/hakimiyeti öneriyor *, diyor. Dikotomisi ağ bağlantısında neredeyse aynıdır: Başlangıçta simetrik değildir, ancak bağlantı kurulduğunda her şey simetriktir. master/slave bilgisayar ve terminal öykünmesi arasında bir iletişim hattı öykünür. Master, bağlantıyı başlatan/kapatmanın (bağlantıyı mastering etmenin) ana tarafın (normalde) olduğu anlamına gelir. Küçük asimetrik şeyler olabilir ama kendi cevabınızda bahsettiğiniz kadar zor olabilir (bir terimi yeniden boyutlandırmak modern bir hile - GUI'lerdir). –