Ana sayfa » Linux’ta Süreç Yönetimi
Linux

Linux’ta Süreç Yönetimi

linux'ta süreç yönetimi

Linux’ta Süreç Yönetimi Nedir?

Bilgisayarınızda hiçbir şey yapmadığınız halde arkaplanda birçok işlem yürütülmektedir. Bu işlemlerin bazıları ekrana görüntü vermekle, bazıları internet bağlantınızı sağlamakla, bazıları ise ses düzeninizi sağlamakla görevlidir. Bu örnekler çoğaltılabilir ama asıl dikkat etmemiz gereken nokta; bilgisayarımızı açtığımızda arkaplanda haberimiz olmadan onlarca hatta yüzlerce işlemin adeta bir karınca gibi işlediğidir. Bir kullanıcı olarak sistemimizde bu işlemleri yönetebilmemiz gerekmektedir. İşte bu yönetim işini yapmamız için birkaç farklı yöntem var. Hemen anlatmaya başlıyalım.

Linux’ta Çalışan Programları Görmek

Eğer daha önceden windows kullandıysanız mutlaka ctrl+alt+delete yaparak görev yönetici penceresini açmışsınızdır. İşte o görev yönetici penceresinde gözüken işlemler bizim görmediğimiz arkaplanda çalışan işlemleri bir başka değişle çalışan processleri temsil etmektedir. Konumuz olan Linux’ta ise bu işlemi yapmak için ilk olarak terminalimizi açıyoruz ve aşağıdaki komutumuzu yazıyoruz.

ps aux

Bu komutumuz bize bir sistemdeki tüm kullanıcılar tarafından yürütülen işlemleri gösterecektir. Komutu yazdıktan sonra aşağıdaki gibi çıktı alacaksınız.

linux'ta çalışan processler

Çıktmızı incelediğimiz vakit dikkat etmemiz gereken ilk ve en önemli kısım PID kısmıdır. PID kısmı için, işlemlerimizin adeta bir kimlik numarası diyebiliriz. Nasıl bizim bir TC Kimlik numaramız var ise PID de işleme ait bir TC kimlik numarasıdır. O işlemi durduracağımız, önceliğini ayarlayacağımız zaman PID numarasına göre işlem yaparız. Bunun dışında dikkat etmemiz gereken bir ayrı konu ise şu; eğer COMMAND kısmındaki işlemin adının son harfi d ile bitiyorsa, anlamalıyız ki bu sistem ile alakalı bir işlem. Buradaki d harfi daemon’u temsil etmektedir.

Konuya örnek teşkil etmesi açısından http protokülünün sağlamış olduğu hizmetten sorumlu işlem için httpd örneğini verebiliriz. Daha öncede belirttiğim gibi bu işlemler sistem ile alakalı olduğundan manipüle ederken de ayrıca dikkat etmeliyiz. PID kısmından sonra gelen %CPU ve %MEM ise sırasıyla o işlemin işlemciyi ve rami ne kadar kullandığını göstermektedir. Daha da detaya inersek VSZ, kullanılan sanal hafızanın alanını temsil etmektedir. RSS ise o satırdaki işlemin sistemde kapladığı alanı kilobayt cinsinden ifade etmektedir.

Bu şekilde ps aux komutunu kullanarak çalışan işlemler bir diğer adı çalışan prosesler ile ilgili detaylı bilgiler edinebiliriz. Eğer en çok sistem kaynağı tüketen işlemleri görmek istiyorsak aşağıdaki komutumuzu yazmamız gerekiyor.

top

Bu kadar basit epi topu 3 harften oluşan kelimemizi terminale yazalım. Yazdığımız zaman aşağıdaki gibi bir çıktı almamız gerekiyor.

linux çalışan prosessler

Şimdi bu çıktımızı incelediğimiz vakit bir önceki komutumuzun çıktısına oranla daha fazla detay olduğunu görüyoruz. Belleğimizin toplam hafızasını ve bu hafızanın ne kadarının kullanıldığını KiB Mem kısmından görebilirsiniz.

Linux’ta Çalışan Bir İşlemi Durdurmak

Eğer çeşitli sebeplerden dolayı çalışan bir işlemimizi durdurmak istiyorsak kullanacağımız komutumuz kill komutudur. Aşağıdaki ekran çıktısında  kill <process PID> komutunu kullanarak firefox-esr adlı uygulamamızı sonlandırmış oluyoruz. Tabi kill komutunun bir çok çeşidi bulunmaktadır. Default olarak kullanılanı kill 15 <process PID> komutudur. Bazen bu komutu kullandığımız zaman işlemimiz kendini sonlandırmayı reddetebilir. Bu durumda daha ciddi bir kapatma komutu olan kill -9 <process PID> komutunu kullanabiliriz. Bu komut ile kapanmak bilmeyen işlemlerimizi rahatça kapatabiliriz. Lafı daha fazla uzatmadan aşağıdaki ekran çıktımızı inceleyelim.

linux'ta kill komutu

Burada kill -9 1688 yazarak da işimizi garantiye alabilirdik ama şimdilik gerek olmadığını düşünüyorum. Eğer bunun yanında birden çok işlemi tek bir komutta sonlandırmak istiyorsak kill -9 <PID 1> <PID 2> <PID 3> <PID n> şeklindeki komutumuzu yazabiliriz.

Linux’ta İşlem Önceliği Atamak

Linux’ta süreç yönetimi adlı konumuza işlem önceliklerini inceleyerek devam ediyoruz. Bazı durumlarda çalışan uygulamalarımıza işletim sistemimizde öncelik verebiliriz. Bu öncelik verme işlemi ile o uygulamamız daha fazla sistem kaynağı tüketebilir ve dolaylı yoldan daha verimli bir şekilde çalışabilir. Öncelik verebildiğimiz gibi bir işlemin önceliğini de düşürebiliriz. Bu sayede programın CPU ve MEM kullanımı arka plana atılır ve öncelik verilen uygulamalar ön planda olur. Bu ve bunun gibi işlemleri yapmamız için kullanacağımız komutumuz;

 renice -n <öncelik numarası> <PID>

Burada değinmemiz gereken nokta öncelik numarası yani priority number’dır. Öncelik numaramız -20 den 19 a kadardır. En yüksek öncelik -20 numarası en düşük öncelik ise 19 numarasıdır. Yani -’den +’ya doğru gidildikçe öncelik düşmektedir. Bu bilgiler ışığında aşağıdaki ekran çıktısını inceleyelim.

İşlemimizin önceliği çıktımızda NI tarafından temsil edilmektedir. Eğer bir işlemin öncelik numarasını öğrenmek istiyorsak NI çıktısı altına bakabiliriz. Evet çıktımıza geçecek olursak görüldüğü gibi birçok işlem default olarak 0 ile başlamış. Bu sistemden sisteme değişebilir. Önceliği belirleyen görevli kısım ise kerneldir. Biz kernele bazı direktifler vererek öncelik sıralarını değiştirebiliriz. Çıktımızda da firefox-esr uygulamasının önceliğinin 0’dan -10’a nasıl alındığını gösterdim. Bir önceki çıktıya bakarak NI’nın 0’dan -10’a değiştiğini görebilirsiniz. Bu konumuzun da bu şekilde anlaşıldığını ümit ediyorum.

Evet Linux’ta süreç yönetimi ile ilgili olarak sistemimizde arkaplanda çalışan işlemlerin nasıl yönetildiğine dair bazı bilgiler vermeye çalıştım. Kendiniz araştırma ve denemeler yaparak bu konudaki yetkinliğinizi arttırabilirsiniz. Bir sonraki yazımda görüşmek üzere.

Yazar Hakkında

Hakan İlbiz

Siber güvenlik, linux, programlama ve network gibi bilgisayar bilimlerini kapsayan alanlarda yaptığı çalışmalardan edindiği tecrübeleri, kurucusu olduğu kodputer.com adlı web sitesinde okurlarına sunan ve bundan büyük bir haz duyan Sakarya Üniversitesi Bilgisayar Mühendisliği öğrencisi.

Yorum Ekle

Yorum Yazmak İçin Tıkla