
Altı saatlik bir veritabanı taşıma işlemi başlattınız. Beşinci saatte internet bağlantınız bir saniyeliğine kesildi ve işlem yarıda kaldı — üstelik veritabanı tutarsız bir durumda.
Bu yazı, uzun süren sunucu işlerini bağlantıdan bağımsız çalıştırmayı ele alıyor.
Bağlantı Kopunca Ne Oluyor?
Sonuç masum bir kesinti değildir:
- Bağlantı kopar.
- Oturum sonlanır.
- Oturuma bağlı süreçlere sonlandırma sinyali gider.
- Çalışan iş yarıda kalır.
Üçüncü adım kritik olandır: bir SSH oturumunda başlatılan süreç, o oturumun çocuğudur ve oturum ölünce o da öldürülür — bu, işletim sisteminin normal ve doğru davranışıdır.
Sorun, uzun süren işlerin bu davranışa uygun olmamasıdır. Yedekleme, taşıma, derleme ve toplu güncelleme işleri saatler sürebilir.
Dördüncü adımın maliyeti işe göre değişir. Bir dosya kopyalama tekrar başlatılabilir; yarım kalmış bir veritabanı işlemi ise elle onarım gerektirir.
Terminal Çoklayıcı Nedir?
Çözüm, oturumdan bağımsız bir katman eklemektir:
- Sunucuda kalıcı bir oturum oluşturur.
- İşler o oturumda çalışır.
- Bağlantı kopsa da oturum yaşar.
- Yeniden bağlanıp kaldığınız yerden devam edersiniz.
Dördüncü madde bu araçların asıl değeridir: evdeki bilgisayarınızda başlattığınız bir işleme, ertesi gün ofisten bağlanıp aynı ekranı görebilirsiniz — çıktı, ilerleme ve komut geçmişi olduğu gibi durur.
Bu, uzun süren işlerin takibini tamamen değiştirir. İşlem sunucuda yaşar, siz sadece ona bakarsınız.
Temel Kullanım Akışı
| Adım | Yapılan |
|---|---|
| 1 | Sunucuya bağlanın |
| 2 | Adlandırılmış bir oturum başlatın |
| 3 | Uzun işi başlatın |
| 4 | Oturumdan ayrılın |
| 5 | Bağlantıyı kapatın |
| 6 | Sonra tekrar bağlanıp oturuma dönün |
İkinci satırdaki "adlandırılmış" ifadesi önemlidir: oturumlara anlamlı isim vermezseniz, birkaç gün sonra hangi oturumda ne çalıştığını hatırlayamazsınız ve rastgele numaralar arasında arama yaparsınız.
Dördüncü satır ise en çok karıştırılan adımdır. Oturumdan ayrılmak ile oturumu kapatmak farklı şeylerdir; ayrılma işi yaşatır, kapatma öldürür.
Diğer Faydalar
Bağlantı koruması tek kazanç değildir:
- Tek bağlantıda birden fazla pencere.
- Ekranı bölerek yan yana çalışma.
- Ekip içinde ekran paylaşımı.
- Uzun çıktıda geriye kaydırma.
Üçüncü madde ekip çalışmasında çok değerlidir: iki kişi aynı oturuma bağlanıp aynı ekranı canlı görebilir — bu, sorun giderme sırasında ekran paylaşımı yazılımına ihtiyaç bırakmaz.
Birinci madde ise gündelik verimliliği artırır. Günlükleri bir pencerede izlerken diğerinde komut çalıştırmak, sürekli bağlanıp kopmaktan hızlıdır.
İkinci madde teşhis sırasında işe yarar. Bir bölmede kaynak kullanımını izlerken diğerinde değişiklik yapmak, etkiyi anında görmenizi sağlar.
Basit Alternatifler
Her durum için çoklayıcı gerekmez:
| Yöntem | Uygunluk |
|---|---|
| Terminal çoklayıcı | İzlemek istediğiniz uzun işler |
| Arka plana atma | Kısa ve basit işler |
| Zamanlanmış görev | Tekrarlayan işler |
| Servis olarak tanımlama | Sürekli çalışan işler |
Dördüncü satır önemli bir ayrımı işaret eder: sürekli çalışması gereken bir uygulamayı terminal çoklayıcıda tutmak yanlıştır — o iş bir servis olarak tanımlanmalı ve sunucu yeniden başladığında kendiliğinden ayağa kalkmalıdır.
Çoklayıcı, elle başlatılan ve izlenen işler içindir. Kalıcı servisler için değildir.
İkinci satır ise çıktıyı takip etmek istemediğiniz işlerde yeterlidir. Çıktı bir dosyaya yönlendirilir ve sonra okunur.
Pratik İpuçları
- Çıktıyı ayrıca dosyaya yazın.
- İşin ne zaman bittiğini bildirtin.
- Oturum listesini düzenli kontrol edin.
- Sunucu yeniden başlarsa oturumlar gider.
Birinci madde ek bir güvence sağlar: çoklayıcı geriye kaydırma tamponu sınırlıdır ve çok uzun çıktılarda başlangıç kısmı kaybolur — dosyaya yazmak bu kaybı önler.
Dördüncü madde ise yanlış bir güven duygusunu düzeltir. Çoklayıcı oturumları bağlantı kopmasına dayanıklıdır, sunucu yeniden başlatmasına değil.
Üçüncü madde temizlik içindir. Unutulmuş oturumlar aylarca yaşar ve kaynak tüketmeye devam eder.
Uzun süren bakım işlemlerinde konsol erişimi de yedek bir yol sunar; sanal sunucu çözümleri panelinde bulunan konsol, SSH erişimi kaybedildiğinde devreye alınabilir.
Sonuç
Uzun süren sunucu işlerinin yarıda kalmasının nedeni basittir: SSH oturumunda başlatılan süreç o oturumun çocuğudur ve oturum ölünce o da öldürülür. Terminal çoklayıcı bu bağı koparır — işlem sunucuda yaşar, siz istediğiniz zaman istediğiniz makineden ona bakarsınız. Oturumlara anlamlı isim verin ve ayrılmak ile kapatmayı karıştırmayın; ayrılma işi yaşatır, kapatma öldürür. Sürekli çalışması gereken uygulamalar ise çoklayıcıda değil, servis olarak tanımlanmalıdır.
Sıkça Sorulan Sorular (SSS)
Bağlantı kopunca işim neden duruyor?
SSH oturumunda başlattığınız süreç o oturumun çocuğudur; oturum sonlandığında süreçlere sonlandırma sinyali gider. Bu işletim sisteminin normal davranışıdır. Sorun, saatler süren işlerin bu davranışa uygun olmamasıdır.
Nasıl çalışıyor?
Sunucuda oturumunuzdan bağımsız kalıcı bir oturum oluşturur ve işler orada çalışır. Bağlantı kopsa bile oturum yaşamaya devam eder; yeniden bağlandığınızda çıktı, ilerleme ve komut geçmişi olduğu gibi durur. Evde başlattığınız işe ertesi gün ofisten bakabilirsiniz.
Uygulamamı çoklayıcıda çalıştırabilir miyim?
Çalıştırmayın. Sürekli çalışması gereken bir uygulama servis olarak tanımlanmalı ve sunucu yeniden başladığında kendiliğinden ayağa kalkmalıdır. Çoklayıcı oturumları sunucu yeniden başlatmasına dayanmaz — elle başlatılan ve izlenen işler içindir.
Uzun çıktıların başını kaybediyorum?
Geriye kaydırma tamponu sınırlıdır ve çok uzun çıktılarda başlangıç kısmı düşer. Çözüm, çıktıyı aynı anda bir dosyaya da yazdırmaktır. Ayrıca işin ne zaman bittiğini size bildirecek bir mekanizma eklemek takibi kolaylaştırır.