Linux Screen Programı ve Kullanımı

Daha önce Tmux ve Terminatör programlarından bahsetmiş, Tmux kullanımı ve komutları konusunda bilgiler vermiştim. Bu yazıda ise Screen programında bahsedeceğim. Screen bir terminal ekranından birden çok terminal ekranı kullanmaya yarar. Tmux ve Terminatör’den farkı ise ekranda sadece bir tane terminal ekranı görürsünüz. Diğer açtığınız terminaller ise arka planda çalışmaya devam eder. Biraz karmaşık gelmiş olabilir ama aslında anlaşılması ve kullanımı çok kolay bir programdır.

Screen’e ihtiyaç duyacağınız en önemli senaryo şu olabilir; ssh bağlantısı ile uzak bir bilgisayar veya sunucuya bağlandınız diyelim. Bir iş başlatacaksınız ama işlem uzun sürecek ve siz işi başlatıp uzak bilgisayarda çalışmaya devam etsin, ben de bilgisayarımı kapatıyım istiyorsunuz. Bu çok normal çünkü bazen şarjınız yetmeyebiliyor, internet paketinden çok yemek istemiyorsunuz yada bulunduğunuz yer dizüstü bilgisayarınızı kullanmaya devam etmek için uygun değil vs. vs. Screen sayesinde işi başlatıyorsunuz. İş çalışmaya devam ederken bilgisayarınızı kapatıyorsunuz. İsterseniz arada bağlanıp kontrol ediyorsunuz. Hatta iş bitince bana mail atsın bile diyebilirsiniz. Bu konu hakkında da bu yazıdan bilgi edinebilirsiniz.

Aşağıdaki komut ile programı kuruyoruz.

sudo apt-get install screen

Kurulum bu kadar. Şimdi ise kullanılmasından bahsedeyim. Diyelim ki screen’de bir python dosyası çalıştıracaksınız. Yapmanız gerek komutun önüne screen eklemek.

screen python dosya.py

Komutu çalıştırdığınızda terminal içerisinde yeni bir terminal açılacak ve dosya çalışmaya başlayacak. Diyelim bu program saatlerce süren bir program bu durumda Ctrl + a + d komutu ile bir önceki ekrana geri dönebilirsiniz. Arka planda program çalışmaya devam edecek.

Çalışan işleri ise screen -ls komutu ile görebilirsiniz. Aşağıdaki gibi bir görüntüyle karşılaşırsınız.

Bu işe geri dönmek için işin ID numarasını kullanacağız.

screen -r 31935

Bu komutla işin çalıştığı terminale geçmiş olduk. Screen -ls ile çalışan işlere baktığımızda şu an için bir iş görmekteyiz. Bu sebepten dolayı ID numarasını kullanmadan direkt olarak screen -r komutunu da kullanabilirdik.

Screen’i aynı andan birden fazla iş için kullanabiliriz.

Peki Screen’de çalışan bir işi öldürmek istiyorsak ne yapacağız. Bu durumda aşağıdaki komut satırını kullanacağız.

screen -X -S 31935 kill

Normalde Screen’de bir iş çalıştırıldığında yeni Screen terminali attach edilmiş olarak açılır ve siz Ctrl + a + d ile bu işi detach edersiniz. Direkt olarak detach edilmiş bir iş başlatmak için ise aşağıdaki komut satırını kullanabiliriz.

 screen -dm bash -c "python dosya.py

Terminalde attach edilmiş olarak kalmış bir işi komut satırından detach etmek için aşağıdaki komut dizinini kullabilirsiniz. Ssh bağlantısı kullanırken böyle bir durumla karşı karşıya kalmış olabilirsiniz.

screen -d 31935

Screen ile çalıştırılmış bütün işleri öldürmek için aşağıdaki komutu kullabilirsiniz.

killall screen

Buraya kadar kullandığım kodlar Screen’in temel kullanımı için yeterlidir. Kullanım ihtiyacı duyduğum kodları buraya eklemeye devam edeceğim.

 

Bugün 1, bugüne kadar toplam 468 kez ziyaret edildi.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir