Pardus ve Linux Sistemlerinin Kalbine Yolculuk: /proc Dizini

Pardus (ve genel olarak Linux) sistemlerinin çalışma mantığını anlamak için en kritik noktalardan biri olan /proc dizini üzerine kapsamlı ve anlaşılır bir eğitim.


Pardus işletim sisteminde dosya sistemini gezerken, kök dizinde (/) duran ancak sabit diskinizde yer kaplamayan gizemli bir klasörle karşılaşırsınız: /proc.

Bu makalede, Linux çekirdeğinin (kernel) kullanıcıya açılan penceresi olan /proc dizininin ne olduğunu, ne işe yaradığını ve sistem yönetiminde nasıl kullanabileceğinizi inceleyeceğiz.

1. /proc Dizini Nedir?

Linux felsefesinde çok önemli bir cümle vardır: "Linux'ta her şey bir dosyadır."

/proc dizini, bu felsefenin en uç örneğidir. Burası gerçek bir disk alanı (HDD veya SSD) üzerinde fiziksel olarak bulunmaz. Sanal bir dosya sistemidir (Virtual Filesystem).

  • Nerede yaşar? Tamamen RAM (Bellek) üzerindedir.

  • Ne zaman oluşur? Bilgisayarınızı açtığınızda Pardus (çekirdek) tarafından dinamik olarak oluşturulur.

  • Görevi nedir? Çekirdek (Kernel) ile kullanıcı alanı (User Space) arasında bir arayüz görevi görür. Sistem donanımı ve çalışan programlar hakkındaki bilgileri anlık olarak "dosya" formatında bize sunar.

Özetle: /proc dizinine baktığınızda, aslında sabit diskinize değil, doğrudan çalışan Linux çekirdeğinin beynine bakıyorsunuz demektir.


2. /proc İçindeki Önemli Dosyalar

Terminalinizi açıp ls /proc komutunu verdiğinizde yüzlerce dosya ve klasör görürsünüz. Pardus sistem yöneticilerinin en sık başvurduğu dosyalara göz atalım:

A. Donanım Bilgileri

Bu dosyalar, Pardus'un çalıştığı donanımı nasıl gördüğünü anlatır. İçeriklerini okumak için cat komutunu kullanırız.

Dosya YoluAçıklamaÖrnek Komut
/proc/cpuinfoİşlemci (CPU) hakkında model, çekirdek sayısı ve hız bilgilerini verir.cat /proc/cpuinfo
/proc/meminfoToplam RAM, kullanılan miktar, swap alanı gibi bellek istatistiklerini gösterir.cat /proc/meminfo
/proc/mountsO an sisteme bağlı (mount edilmiş) disk bölümlerini listeler.cat /proc/mounts
/proc/partitionsDisk bölümlerinin blok yapılarını gösterir.cat /proc/partitions

B. Yazılım ve Sistem Bilgileri

Dosya YoluAçıklamaÖrnek Komut
/proc/versionÇalışan Linux çekirdeğinin ve derleyicinin tam sürümünü gösterir.cat /proc/version
/proc/uptimeSistemin ne kadar süredir açık kaldığını saniye cinsinden verir.cat /proc/uptime
/proc/cmdlineSistemin açılışında (boot) çekirdeğe gönderilen parametreleri gösterir.cat /proc/cmdline

3. Sayılı Klasörlerin Sırrı (PID)

/proc dizinine girdiğinizde mavi renkte görünen ve sadece sayılardan oluşan klasörler dikkatinizi çekecektir: 1, 152, 3450 gibi.

Bu sayıların her biri, o an sistemde çalışan bir Süreci (Process) temsil eder ve klasörün adı o sürecin PID (Process ID) numarasıdır.

Örneğin, Firefox tarayıcısının PID numarasının 4567 olduğunu varsayalım. /proc/4567/ dizinine girdiğinizde, sadece Firefox ile ilgili detayları görürsünüz:

  • /proc/PID/cmdline: Programın hangi komutla başlatıldığını gösterir.

  • /proc/PID/cwd: Programın çalıştığı dizine giden sembolik bir bağdır.

  • /proc/PID/environ: Programın kullandığı çevre değişkenlerini listeler.

  • /proc/PID/fd: Programın o an açık tuttuğu dosyaları (File Descriptors) listeler.

  • /proc/PID/status: Sürecin durumu (çalışıyor, uyuyor, zombi vb.) ve bellek kullanımı hakkında insan tarafından okunabilir özet bilgi verir.

İpucu: htop veya top gibi görev yöneticileri, gösterdikleri verileri aslında bu klasörlerin içini okuyarak elde ederler.


4. İleri Seviye: /proc ile Sistem Ayarlarını Değiştirmek

/proc dizini sadece bilgi okumak için değildir; aynı zamanda çekirdek ayarlarını anlık olarak değiştirmek için de kullanılır. Bu işlem genellikle /proc/sys alt dizininde yapılır.

⚠️ Uyarı: Buradaki değişiklikler sistemi yeniden başlatana kadar geçerlidir ve yanlış bir değer girmek sistemi kilitleyebilir.

Örnek: IP Yönlendirmeyi Açmak (IP Forwarding)

Bir sunucuyu router (yönlendirici) gibi kullanmak istiyorsanız bu özelliği açmanız gerekir.

  1. Değeri Kontrol Et:

    Bash:
    cat /proc/sys/net/ipv4/ip_forward
    # Çıktı 0 ise kapalı, 1 ise açıktır.
    
  2. Değeri Değiştir (Geçici Olarak):

    Dosyayı bir metin editörüyle açmak yerine, echo komutuyla içine değer yazarız. Bu işlem için root (yönetici) yetkisi gerekir.

    Bash:
    sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
    

    Bu komut, değişikliği anında çekirdeğe uygular. Yeniden başlatmaya gerek yoktur.



5. Özet

Pardus üzerinde /proc dizini, sisteminizin röntgen filmi gibidir.

  1. Sanal: Diskte yer kaplamaz, RAM'de yaşar.

  2. Bilgilendirici: cpuinfo, meminfo gibi dosyalarla donanımı anlatır.

  3. Dinamik: Çalışan her program (PID) için anlık bir klasör oluşturur.

  4. Yönetilebilir: /proc/sys üzerinden çekirdek parametreleri (Kernel parameters) değiştirilebilir.

Bu dizini anlamak, "siyah ekran" korkusunu yenip sistemin arka planında neler döndüğünü kavramak için atılan en büyük adımdır.


Pardus terminalini (uçbirim) açıp hemen denemelere başlayalım.

Normalde bu dosyaları (cat /proc/cpuinfo gibi) okuduğumuzda ekrana çok fazla veri akar. Aradığımızı "cımbızla çekmek" için Linux'un güçlü süzgeç komutu olan grep ile birlikte kullanacağız.

İşte komut setiniz:

1. İşlemci (CPU) Modelini Öğrenmek

İşlemci dosyasının içinde "model name" satırını arayacağız.

Komut:

Bash:
grep "model name" /proc/cpuinfo

İpucu: Eğer çok çekirdekli bir işlemciniz varsa (örneğin 8 çekirdek), bu komut aynı satırı 8 kere alt alta yazar. Sadece tek bir satır görmek isterseniz komutun sonuna -m 1 (maksimum 1 sonuç) ekleyebilirsiniz:

grep -m 1 "model name" /proc/cpuinfo


2. Toplam RAM Miktarını Öğrenmek

Bellek dosyasının içinde "MemTotal" satırını arayacağız.

Komut:

Bash:
grep "MemTotal" /proc/meminfo

3. Bonus: Hepsini Tek Komutta Görelim

Aşağıdaki komut bloğunu kopyalayıp terminale yapıştırırsanız, /proc dizininden verileri çekip size temiz bir rapor sunar:

Bash:
echo "-----------------------------------"
echo " SİSTEM ÖZETİ (Kaynak: /proc)"
echo "-----------------------------------"
echo -n "İşlemci Modeli : " && grep -m 1 "model name" /proc/cpuinfo | cut -d: -f2
echo -n "Toplam Bellek  : " && grep "MemTotal" /proc/meminfo | cut -d: -f2 | xargs
echo "-----------------------------------"

Bu komut ne yaptı?

  • grep ile satırı buldu.

  • cut ile gereksiz etiketleri kesti, sadece değeri aldı.

  • echo ile ekrana düzgün bir başlık yazdırdı.


Az önce /proc dizinindeki ham metin dosyalarını (cpuinfo, meminfo) gördük. Ancak binlerce satırı tek tek okuyup hangi programın sistemi yavaşlattığını bulmak imkansıza yakındır.

İşte burada htop devreye girer. htop, /proc dizinindeki o karmaşık sayıları saniyede bir okur ve bize renkli, anlaşılır bir tabloya dönüştürür.

İşte Pardus'ta htop kullanarak sistemi yoran programı (ajanı) bulma rehberiniz:

1. htop Kurulumu ve Çalıştırma

Pardus'un bazı sürümlerinde yüklü gelmeyebilir. Önce terminalden hızlıca kuralım:

Bash:
sudo apt update && sudo apt install htop -y

Kurulum bitince çalıştırmak için sadece şunu yazın:

Bash:
htop

2. Ekranı Okuma Kılavuzu (Nereye Bakmalıyız?)

Karşınıza renkli çubuklar ve hareket eden bir liste çıkacak. İşte bu ekranın /proc ile bağlantılı şifreleri:

  • PID (Process ID): En soldaki sütun. Bu sayı, o programın /proc içindeki adresidir. (Örneğin PID 1540 ise, /proc/1540 klasörüdür.)

  • USER: Programı kimin çalıştırdığı.

  • PRI/NI: Öncelik değerleri.

  • CPU%: İşlemcinin yüzde kaçını kullanıyor? (En önemli kısım burası).

  • MEM%: RAM'in yüzde kaçını yiyor?

  • Command: Programın adı ve başlatılma komutu (Bu bilgi /proc/PID/cmdline dosyasından okunur).


3. "Suçluyu" Bulmak: Sıralama Yapmak

Sistemi en çok yoranı bulmak için listeyi sıralamamız gerekir. htop genellikle varsayılan olarak işlemci kullanımına (CPU%) göre sıralı açılır ama emin olmak için:

  1. Klavyenizden F6 tuşuna basın (Sort by).

  2. Açılan menüden;

    • İşlemciyi yoranı bulmak için: PERCENT_CPU seçip Enter'a basın.

    • RAM'i tüketenleri bulmak için: PERCENT_MEM seçip Enter'a basın.

Listenin en tepesinde beliren program, sisteminizi o an en çok yoran programdır.


4. Perde Arkasındaki Sır

Siz htop ekranındaki o renkli çubuklara bakarken, arka planda aslında şu olur:

  1. htop, /proc klasörünü tarar.

  2. Her bir PID klasörüne girer (/proc/1234/stat dosyasını okur).

  3. İşlemci sürelerini ve bellek kullanımını hesaplar.

  4. Ekrana yansıtır.

  5. 1 saniye sonra her şeyi baştan yapar.

Yani htop, /proc dizininin canlı yayın aracıdır.


Linux dünyasında (ve Pardus'ta) bir program "donduğunda" veya yanıt vermediğinde bilgisayarı kapatıp açmanıza gerek yoktur. Cerrahi bir müdahale ile sadece o sorunlu programı sonlandırabilirsiniz.

Bu işleme teknik dilde "Process Kill" (Süreci Öldürmek) denir.

İşte sorunlu bir programı (örneğin donmuş Firefox'u) htop ve terminal kullanarak sonlandırmanın yolları:


Yöntem 1: htop ile Görsel Müdahale (En Kolayı)

htop açıkken klavyenizi kullanarak şu adımları izleyin:

  1. Hedefi Seçin:

    Yön tuşlarını kullanarak listede donan programın (örneğin firefox) üzerine gelin ve satırı vurgulayın.

  2. Öldürme Menüsünü Açın (F9):

    Klavyeden F9 tuşuna (Kill) basın. Ekranın sol tarafında bir sinyal listesi açılacaktır.

  3. Doğru Silahı Seçin:

    Burada iki önemli seçenek vardır:

    • SIGTERM (15): (Terminate) Bu, "Lütfen kapan, dosyalarını kaydet ve çık" demektir. Önce her zaman bunu deneyin.

    • SIGKILL (9): Bu, "Soru sorma, fişi çek!" demektir. Program veri kaydetmeye fırsat bulamaz. Sadece inatçı programlar için kullanılır.

  4. Tetiği Çekin:

    İstediğiniz sinyalin üzerindeyken (genellikle varsayılan SIGTERM'dir) Enter tuşuna basın.

Program listeden kaybolacaktır.


Yöntem 2: Terminal ve PID ile Müdahale (Profesyonel Yol)

Eğer htop kullanmıyorsanız veya terminalde hızlıca işi bitirmek istiyorsanız, /proc dizininden öğrendiğimiz o sihirli PID numarasını kullanacağız.

Senaryomuz: Firefox dondu ve PID numarasının 4567 olduğunu öğrendik.

Adım 1: Nazikçe Kapatmak (SIGTERM - 15)

Önce programdan çıkmasını rica ederiz. Bu, verilerin bozulmaması için en güvenli yoldur.

Bash:
kill 4567

(Not: kill komutu yanına hiçbir şey yazmazsanız varsayılan olarak -15 yani SIGTERM gönderir.)

Adım 2: Zorla Kapatmak (SIGKILL - 9)

Eğer yukarıdaki komutu girdiniz ama program hala çalışıyorsa (kapanmıyorsa), "zor kullanma" vakti gelmiştir.

Bash:
kill -9 4567

-9 parametresi: Çekirdeğe (Kernel) şu emri verir: "Bu sürecin ne yaptığı umurumda değil, /proc/4567 klasörünü ve RAM'deki yerini derhal yok et!"


İpucu: PID Numarasını Bilmiyorsam? (pidof ve killall)

Bazen PID numarasını aramakla uğraşmak istemezsiniz. Sadece programın adını biliyorsanız Pardus size iki kolaylık daha sunar:

  1. PID'yi hızlıca bulmak için:

    Bash:
    pidof firefox
    

    (Bu komut size Firefox'a ait PID numarasını direkt söyler.)

  2. İsme göre toplu katliam yapmak için (killall):

    Eğer Firefox'un arkada 10 tane süreci varsa tek tek PID yazmak zordur. Hepsini tek seferde silmek için:

    Bash:
    killall firefox
    

    (DİKKAT: Bu komut, adı "firefox" olan ne varsa hepsini kapatır.)


Perde Arkasında Ne Oluyor?

Siz kill 4567 yazdığınızda:

  1. Linux Çekirdeği (Kernel), 4567 numaralı sürece bir sinyal gönderir.

  2. Süreç sonlandığında, RAM belleği boşaltılır.

  3. Ve makalemizin başından beri konuştuğumuz /proc/4567 klasörü anında silinir.

Dosya sisteminden o klasörün yok olması, sürecin artık yaşamadığının kanıtıdır.



Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu