~/sibercrew
Temel Linux

Process (Süreç) Yönetimi: Arka Planda Neler Çalışıyor?

Bir bilgisayarda aynı anda çalışan onlarca programı görüntüleme, izleme ve durdurma.

Bilgisayarını açtığında, sen fark etmesen bile arka planda onlarca program aynı anda çalışır — bunlara process (süreç) denir. Bu makalede, Linux'ta bu süreçleri nasıl görüntüleyeceğini, izleyeceğini ve gerektiğinde durduracağını öğreneceğiz.

Process Nedir?

Bir process, çalışmakta olan bir programın, sistem tarafından yönetilen bir örneğidir. Örneğin tarayıcını açtığında, o tarayıcı bir process olarak çalışmaya başlar; birden fazla sekme açarsan, bazı tarayıcılar her sekme için AYRI bir process bile başlatabilir.

Her process'in benzersiz bir kimlik numarası vardır: PID (Process ID). Bu numara, o process'i sistemde tanımlamak ve yönetmek için kullanılır.

Çalışan Süreçleri Görüntüleme: ps ve top

bash
ps aux            # sistemdeki TÜM çalışan süreçlerin bir anlık görüntüsünü listeler
top                # süreçleri GERÇEK ZAMANLI olarak, sürekli güncellenen bir ekranda gösterir

ps aux komutunun çıktısında her satır bir süreci temsil eder ve şu bilgileri içerir: hangi kullanıcıya ait olduğu, PID'i, ne kadar CPU/bellek kullandığı, ve tam olarak hangi komutla başlatıldığı.

top komutu ise, tıpkı Windows'taki "Görev Yöneticisi" gibi, hangi süreçlerin şu anda en çok CPU veya bellek tükettiğini canlı olarak gösterir — bir sistem "yavaşladığında" ilk bakılacak yerlerden biri genelde top'tur.

Bir Süreci Durdurma: kill

Bir program yanıt vermiyorsa veya beklenmedik/şüpheli bir şekilde çalışıyorsa, o sürece belirli bir "sinyal" göndererek durdurabilirsin:

bash
kill 1234        # PID'i 1234 olan sürece "nazikçe kapan" sinyali gönder
kill -9 1234     # aynı süreci, "hemen ve zorla" durdur (daha sert bir yöntem)

kill -9, sürece "lütfen kapat" demek yerine "seni hemen sonlandırıyorum" demek gibidir — bu, sürecin düzgünce kapanma (örneğin kaydedilmemiş verileri kaydetme) fırsatı bulamayabileceği anlamına gelir, bu yüzden genelde son çare olarak kullanılır.

Neden Bu Bilgi Güvenlik Açısından Önemli?

Bir sistemde neyin "normal" çalıştığını bilmek, neyin "anormal/şüpheli" olduğunu fark edebilmenin ön koşuludur. Örneğin:

  • Tanımadığın, garip bir isimle çalışan bir süreç (top veya ps aux çıktısında normalde görmediğin bir şey), bir zararlı yazılımın çalışıyor olabileceğinin ilk işaretlerinden biri olabilir.
  • Bir sürecin normalden çok daha fazla CPU veya ağ trafiği tükettiğini fark etmek, bir güvenlik olayının ilk belirtisi olabilir.

Malware Analizi kütüphanemizdeki "Dinamik Analiz" makalesinde bahsettiğimiz Process Monitor gibi araçlar, aslında bu temel ps/top mantığının çok daha detaylı, gelişmiş versiyonlarıdır.

Arka Planda Çalıştırma: & ve nohup

Bir komutu çalıştırıp terminali başka işler için serbest bırakmak istersen, komutun sonuna & ekleyebilirsin:

bash
long_running_script.sh &   # script'i arka planda çalıştır, terminali kilitleme

Bu, özellikle uzun süren bir işlemi başlatıp terminali başka komutlar için kullanmaya devam etmek istediğinde kullanışlıdır.

Bu makale, Linux'ta process yönetimine giriş niteliğinde, başlangıç seviyeli bir özetidir; SiberCrew ekibi tarafından hazırlanmış özgün içeriktir.