Merhaba bu yazımızda screen tool ile Linux sistemler üzerinde session (ekran) yönetiminin nasıl yapıldığını inceleyeceğiz.
Linux sistem yöneticileri, linux tabanlı özellikle gui içermeyen sistemleri yönetirken bir çok script ve komut çalıştırılar. Çalıştırılan bu scriptler belki günlerce çalışmak zorundadır. İşte bu gibi durumlarda mevcut script, komut ve diğer process’lerin çalışması ve yöntilmesin için screen tool’unu kullanabiliriz.
Screen, bir çok linux dağıtımı ile yüklü gelmektedir. Eğer yüklü değilse bir komut ile sisteme kolayca yüklenebiliyor.
Benim kullandığım sistem Ubunut 20.04 LTS ve üzerinde yüklü olarak geliyor.
Örnekler ile hızlıca başlarsak
İlk olarak screen komutunu kullanarak ilk screen’imi oluşturuyorum
screen
“top”uygulamasını çalıştırıyorum.
Şimdi “ctrl-a+c” komutu ile aynı screen session’ı içerisinde yeni bir ekran açıyorum.
ctrl-a+c
Yeni açtığım aynı screen session içersindeki yeni ekranda çözümparkı pingliyorum
Şimdi bir önceki ekrana dönmek için “ctrl-a+p” tuş kombinasyonunu kullanıyorum.
Bir sonraki ekrana gitmek için ise “ctrl-a+n” tuş kombinasyonunu kullanıyorum.
ctrl-a+n
Görüldüğü gibi iki farklı ekranda işlemler kesintiye uğramadan devam ediyor.
“ctrl-a+d” tuş kombinasyonunu ile screen’den açtığım session’ları “detached” hale getiriyorum ve “screen -list” komutu ile mevcutta açtığım screen session’ları listeleyebiliyoruz.
Şimdi ikinci bir screen açacağım yani artık bir birinden bağımsız iki adet session’ımız olacak.
Burada da farklı komutlar giriyorum.
Şimdi tekrar “ctrl-a+d” ile screen session’ları “detached” hale getirdim.
Şimdi bu komut ile “screen -a -r screen id” ile detached haldeki screen’i yeniden bağlayıp kesinti olmadan çalışmaya devam edebiliyorum. Detached konumdaki session kendi içinde çalışmaya devam ediyor.
Şimdi mevcut screen içerisindeki ekranı kapatmak istiyorum. Bunun için “ctrl-a+k” ile mevcut screen’i kapatabilir ve bu komutu tüm ekranlar kapanana kadar yapar ve sonunda açılan session içinde hiç ekran kalmazsa o session’da silinmiş olur. Screen session’u silmenin diğer bir yöntemide session içinde “exit” komutunu kullanmaktır.
Screen genel komutları
screen - Yeni screen session'ı başlatır.
screen -S - Session'a bir isim verir ve öyle başlatır.
ctrl-a+c - Session içinde yeni pencere açar.
ctrl-a+n - Session içerisinde ileri doğru gider
ctrl-a+p - Session içersinde geri doğru gider
ctrl-a+d - Session'ı detach hale getirir.
Daha fazla komuta ulaşmak için “man screen” komutunu kullanabilirsiniz. Faydalı olması dileği ile keyifli okumalar.