Linux'ta hemen hemen her işlemin bir kontrol terminali vardır. Ama bir kontrol terminali bile nedir? Hadi bulalım.
Linux süreçleriyle ilgili olarak kullanılan "kontrol terminali" terimini duymuş olabilirsiniz. Bir kontrol terminalinin ne olduğu konusunda kafanız karışmış olabilir. Neyse ki, bir kontrol terminalinin anlaşılması kolaydır.
Kontrol Terminali Nedir?
Bir kontrol terminali, bir Linux işleminin başladığı bir terminaldir. Örneğin, kabuktan bir komut çalıştırırsanız, komutu girdiğiniz terminal penceresi kontrol eden terminaldir.
Terminalleri kontrol ederek başlatılan işlemler, ana terminalin özniteliklerini devralır. Bunun nedeni, süreçlerin Linux'ta başlatılma şeklidir. Bir komutu çalıştırdığınızda, kabuk kendisinin bir kopyasını oluşturur veya "çatallar", ardından çalıştırmak istediğiniz program veya "execs" ile yer değiştirir.
Hangi İşlemlerin Kontrol Terminali Olduğunu Görme
Linux'ta kontrol terminaline sahip süreçleri görmek kolaydır. Kullanabilirsiniz ps komutu onları görmek için
Kontrol terminali olsun ya da olmasın, sistemdeki tüm kullanıcılara ait tüm işlemleri aşağıdaki komut ile görebilirsiniz. "yardımcı" argüman:
ps yardımcı
Bu, Linux sistemlerinde çok fazla çıktı oluşturduğundan, bunu daha az gibi bir çağrı cihazına yönlendirmek yardımcı olabilir:
ps yardımcı | az
İlk birkaç satırı head yardımcı programını kullanarak da görüntüleyebilirsiniz:
ps yardımcı | KAFA
Çıktıda "TTY" etiketli bir sütun göreceksiniz. Bu, varsa bir sürecin kontrol terminalini gösterir. Kontrol terminali olan bir işlem, "ttyx" görüntüler; burada "x", terminal numarası veya "nokta"dır, ardından eğik çizgi (/) ve sözde terminal satır numarası gelir.
Çoğu uçbirim aslında uçbirim öykünücüleri olduğundan, sözde uçbirimler veya PTY'ler kullanırlar. "Puan", fiziksel bir uçbirim yerine bir uçbirim öykünücüsünü belirtir veya sanal konsol.
Terminalleri Kontrol Etmeden İşlemler
Çoğu Linux sisteminde, TTY sütununda bir soru işareti (?) birçok süreçte karakter. Bunun nedeni, işlemin bir kontrol terminalinin olmamasıdır. Bu neden oluyor?
Linux sistemleri arka planda çok sayıda arka plan programı veya hizmet çalıştırır. Bunlar, bir web sunucusu gibi sunucular olabileceği gibi, ağ bağlantınızı çalıştırmak gibi pek çok temel şeyi yapan arka plan programları da olabilir. Bunların bir terminal kullanmasına gerek yoktur, bu yüzden terminal olmadan çalışırlar.
Bir masaüstü ortamının menüsünden grafiksel bir uygulama başlatırsanız, bunun da bir kontrol terminali olmaz.
GNU Screen veya tmux gibi terminal çoklayıcılar, bir işlemi ayırmanıza izin verir. Oturumu kapatırsanız ancak sisteminizi çalışır durumda tutarsanız, bu işlemin de kontrol eden bir terminalden yoksun olduğunu görebilirsiniz.
Kurtulmak istediğiniz bir kontrol terminali olmayan bir işleminiz varsa, öldürme yardımcı programını kullanabilirsiniz.
Artık Terminalleri Kontrol Etmeyi Biliyorsunuz
Bir kontrol terminali, bir komut başlattığınız bir terminaldir. ps komutu ile hangi süreçlerin bir kontrol terminaline sahip olduğunu ve olmadığını görmek kolaydır. Ve birçok Linux programı, ya daemon oldukları için ya da onları bir terminal multiplexer ile ayırmış olabileceğiniz için bunu yapmaz.
tmux gibi çoklayıcılar, yalnızca yerel terminal oturumlarının oturumlar boyunca devam etmesini sağlamakla kalmaz, aynı zamanda uzak SSH bağlantıları için de güçlü araçlardır.