Evet, SSH üzerinden çalışan bir program çıktılarının bir yere gitmesine bağlı olacaktır. Bağlantı yavaşsa, çıktı bir yerde tamponlanmalıdır ve tamponlar sonsuz olamaz, bu nedenle program doluysa engellemelidir.
Çıktının mutlaka bir terminale gitmeyebileceğini unutmayın: gibi bir şey çalıştırmayı düşünün
ssh user@somewhere "cat file.txt" > file.txt
Bu aslında dosyayı kopyalayacaktır. Bunun çalışması için, kedinin çıkış hızı, bağlantınınkiyle eşleşmelidir: çıktının parçalarının ortasından kaybedilmesinin kabul edilemez olduğu açık olmalıdır.
Ekran, terminal gibi davranması durumunu değiştirecek ve "terminal penceresinde" gösterilmesi gerekenleri (artı kaydırma) gösterecektir. Programınızın çıktılarını, yalnızca "pencereye" ve kaydırma işlemine uyacak parçaları hatırlamaya gerek yok. Varsayılan olarak, ekran yavaş bir bağlantı bekleyecektir (programı engelleme), ancak "engellemeyi kaldır" özelliğini ayarlayarak sıkışmış bir bağlantıyı tespit etmek üzere yapılandırılabilir.
Man sayfasından:
nonblock [on | off | numsecs]
Ekrana çıkışı kabul etmeyi bırakan kullanıcı arayüzleri (ekranlar) ile nasıl başa çıkılacağını söyleyin. Bir kullanıcı ^ S tuşuna basarsa veya bir TCP / modem bağlantısı kesilirse, ancak hiçbir bağlantı alınmadığında bu durum oluşabilir. Engelleme kapalı değilse (varsayılan değerdir) ekranı çıkışı kabul etmek için yeniden başlatılıncaya kadar ekran bekler. Engelleme açık değilse, ekran zaman aşımına ulaşana kadar bekler (açık 1 saniye olarak kabul edilir). Ekran hala karakter alamıyorsa, ekranda "engellenmiş" sayılır ve karakterleri göndermeyi durdurur. Bir zaman karakterleri kabul etmek için yeniden başlarsa, ekran engeli kaldırır ve güncellenmiş pencere içeriğini yeniden görüntüler.
Bağlantı kesilmesi yavaş bağlantıdan farklıdır. Düz SSH otomatik olarak ondan kurtaramaz, bu nedenle programınız bir SIGHUP alır. Öte yandan, ekran bir bağlantı kesilmesi tespit eder, ekran yeniden takılana kadar ayırır ve yerel arabelleğe geri döner. Bu olacak değil çalışan programı bloke ederler.
(Ayar nonblock 1
Sepetinde .screenrc
Eğer sürekli aynı anda ağa konuşmak gerekir hala çıktı üretmekle kalmaz olacak irssi gibi bir şey çalıştırırsanız önemlidir. Son derece rahatsız edici IRC, kopuk alma yol açacak engelleniyor ...)