Linux Sistemlerde Screen Aracı ile Kopan veya Sonlanan SSH Bağlantılarındaki Prosesleri Devam Ettirmek

Linux makineye SSH ile uzun süre kopmaması gereken bir erişim ihtiyacı veya bir terminal bağlantısında birden fazla terminal ihtiyacı olabilir. Bu yazıda bağlantı kopmaları gibi durumlar başta olmak üzere terminal içerisinde başka bir terminal çalıştırmaya yarayan “screen” aracı incelenecektir.

Sistem yönetimi sırasında uzun sürecek bir komut çalıştırmak gerekebilir. Örneğin hazırlanan bir betiğin çalışması saatler sürebilir, işletim sistemine büyük boyutta bir paket yüklenmesi gerekiyor olabilir veya işletim sisteminin uzun süreli ağ trafiğini bir dosyaya yazdırma ihtiyacı olabilir. Bu amaçla zamanlanmış görevler (cron jobs) oluşturulabileceği gibi; SSH ile uzaktan bağlantı kurulduğunda bu işlemlerin devam etmesi için “screen” aracı kullanılabilir.

 

Screen Komutu Kullanılmadan Komut Çalıştırılması

SSH ile bağlantı kuran kullanıcı (“security” gibi) ile tcpdump komutu çalıştırıldığında yetkili bir kullanıcı (“root” gibi) ile bu proses görülebilir.

SSH bağlantısı üzerinde (security):

sudo tcpdump port 80 -w /home/Desktop/uzaktan_dinleme.pcap

İşletim sistemi üzerinde (root):

ps -ef | grep tcpdump | grep -v grep

keeping-processes-running-despite-a-dropped-or-ended-ssh-session-by-screen-command-01

 

SSH bağlantısı yanlışlıkla kapatılabilir veya bağlantı kopabilir.

keeping-processes-running-despite-a-dropped-or-ended-ssh-session-by-screen-command-02

 

Bu durumda SSH bağlantısı ile çalışan prosesler de kapanır.

İşletim sistemi üzerinde (root):

ps -ef | grep tcpdump | grep -v grep

keeping-processes-running-despite-a-dropped-or-ended-ssh-session-by-screen-command-03

 

 

Screen Komutu Kullanılarak Komut Çalıştırılması

SSH ile bağlantı kuran kullanıcı (“security” gibi) ile “screen” komutu çalıştırıldıktan sonra tcpdump komutu çalıştırıldığında yetkili bir kullanıcı (“root” gibi) ile bu proses görülebilir.

SSH bağlantısı üzerinde (security):

screen -S Tcpdump_Surekliligi
sudo tcpdump port 80 -w /home/Desktop/uzaktan_dinleme2.pcap

İşletim sistemi üzerinde (root):

ps -ef | grep tcpdump | grep -v grep

keeping-processes-running-despite-a-dropped-or-ended-ssh-session-by-screen-command-04

 

SSH bağlantısı yanlışlıkla kapatılabilir veya bağlantı kopabilir.

keeping-processes-running-despite-a-dropped-or-ended-ssh-session-by-screen-command-05

 

Bu durumda SSH bağlantısı ile çalışan prosesler de çalışmaya devam eder.

İşletim sistemi üzerinde (root):

ps -ef | grep tcpdump | grep -v grep

keeping-processes-running-despite-a-dropped-or-ended-ssh-session-by-screen-command-06

 

SSH ile yeniden bağlantı kurulduğunda arka tarafta açılan yeni terminaller görülebilir ve arka plandaki terminallere erişim sağlanabilir.

SSH bağlantısı üzerinde (security):

screen -ls
screen -r 7276

keeping-processes-running-despite-a-dropped-or-ended-ssh-session-by-screen-command-07

 

Böylece “Tcpdump_Surekliligi” adı verilen terminale erişim sağlanır.

keeping-processes-running-despite-a-dropped-or-ended-ssh-session-by-screen-command-08

 

Çalışma tamamlandıktan sonra terminaller sonlandırılabilir.

SSH bağlantısı üzerinde (security):

screen -X -S Tcpdump_Surekliligi quit

keeping-processes-running-despite-a-dropped-or-ended-ssh-session-by-screen-command-09

 

Terminali arka plana atmak için CTRL+A+D kombinasyonu veya “exit” kullanılabilir.

SSH bağlantısı üzerinde (security):

screen -S Tcpdump_Surekliligi_2
sudo tcpdump port 80 -w /home/Desktop/uzaktan_dinleme3.pcap&
screen -list
exit
screen -list

keeping-processes-running-despite-a-dropped-or-ended-ssh-session-by-screen-command-10

 

Kaynak:

http://lifeoverlinux.com/2015/04/03/baglanti-kopukluklarinda-calisan-surecleri-devam-ettirmek/
https://www.howtoforge.com/linux_screen
http://www.kayhankayihan.com/screen-komutu-nedir-ne-degildir-ne-ise-yarar-v-s/

 

 

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.