Türkçe Linux
  • 🏠Anasayfa
  • Başlangıç
    • Tarihçe
    • Bir Linux Dağıtımı Seçimi
    • Dağıtımları İnceleyelim
  • Komut Satırı
    • Kabuk (Shell)
    • pwd (Print Working Directory)
    • cd (Change Directory)
    • ls (List Directories)
    • touch
    • file
    • cat
    • less
    • history
    • cp (Copy)
    • mv (Move)
    • mkdir (Make Directory)
    • rm (Remove)
    • find
    • help
    • man
    • whatis
    • alias
    • exit
  • Metin Ustası
    • stdout (Standard Out)
    • stdin (Standard In)
    • stderr (Standard Error)
    • pipe ve tee
    • env (Environment)
    • cut
    • paste
    • head
    • tail
    • expand ve unexpand
    • join ve split
    • sort
    • tr (Translate)
    • uniq (Unique)
    • wc ve nl
    • grep
  • Gelişmiş Metin Ustası
    • regex (Regular Expressions)
    • Metin Editörleri
    • Vim (Vi Improved)
    • Vim Arama Kalıpları
    • Vim Navigasyon
    • Vim Metin Ekleme
    • Vim Düzenleme
    • Vim Kaydetme ve Çıkma
    • Emacs
    • Emacs Dosyaları Manipüle Etme
    • Emacs Buffer Navigasyonu
    • Emacs Düzenleme
    • Emacs'tan Çıkma ve Yardım
  • Kullanıcı Yönetimi
    • Kullanıcılar ve Gruplar
    • Root
    • /etc/passwd
    • /etc/shadow
    • /etc/group
    • Kullanıcı Yönetim Araçları
  • İzinler
    • Dosya İzinleri
    • İzinlerin Değiştirilmesi
    • Sahiplik İzinleri
    • Umask
    • Setuid
    • Setgid
    • İşlem İzinleri
    • Sticky Bit
  • Processes
    • ps (Processes)
    • Kontrol Terminali
    • Process Detayları
    • Process Yaratma
    • Process Sonlandırma
    • Sinyaller
    • kill (Sonlandırma)
    • niceness
    • Process States
    • /proc filesystem
    • İş Kontrolü
  • Paketler
    • Yazılım Dağıtımı
    • Paket Repositories
    • tar ve gzip
    • Paket Bağımlılıkları
    • rpm ve dpkg
    • yum ve apt
    • Kaynak Kodunu Derleme
Powered by GitBook
On this page
  1. Processes

Process Yaratma

Yine, bu ders ve bir sonraki ders tamamen kaputun altındaki şeyleri görmenizi sağlayan bilgilerdir. İşlemlerle biraz daha çalıştıktan sonra buna geri dönmekte özgürsünüz.

Yeni bir işlem oluşturulduğunda, var olan bir işlem temelde fork system call (sistem çağrıları ileride çok daha ayrıntılı olarak ele alınacaktır) adı verilen bir şey kullanılarak kendisini klonlar. fork system call çoğunlukla aynı olan bir child process (çocuk işlem) oluşturur, bu child process yeni bir process ID (PID) alır ve orijinal işlem onun parent process (ebeveyn işlem) olur ve parent process ID (PPID) adı verilen bir şeye sahip olur. Ardından, child process ya ebeveyninin daha önce kullandığı aynı programı kullanmaya devam edebilir veya daha sık olarak yeni bir program başlatmak için execve system call'u kullanır. Bu sistem çağrısı, çekirdeğin bu işlem için yerleştirdiği bellek yönetimini yok eder ve yeni program için yenilerini kurar.

Bunu şu şekilde görebiliriz:

$ ps l

l seçeneği bize çalışan işlemlerimizin "uzun formatlı" veya daha da ayrıntılı bir görünümünü verir. PPID olarak etiketlenmiş bir sütun göreceksiniz, bu parent ID'dir (ebeveyn kimliği). Şimdi terminalinize bakın, kabuğunuzu çalıştıran bir işlem göreceksiniz, bu yüzden benim sistemimde bash çalıştıran bir işlemim var. Şimdi ps l komutunu çalıştırdığınızda, bunu bash'i çalıştıran işletimden çalıştırdığınızı unutmayın. Artık bash kabuğunun PID'sinin ps l komutunun PPID'si olduğunu göreceksiniz.

Dolayısıyla, her işlemin bir ebeveyni olması gerekiyorsa ve bunlar birbirlerinin sadece kopyalarıysa, tüm süreçlerin bir annesi olmalı, değil mi? Doğru, sistem önyüklendiğinde çekirdek 1 PID'li init adı verilen bir işlem oluşturur. init işlemi, sistem kapanmadıkça sonlandırılamaz. Root yetkileriyle çalışır ve sistemi çalışır durumda tutan birçok işlemi çalıştırır. Sistem açılışı kursunda init'e daha yakından bakacağız, şimdilik sadece tüm diğer işlemleri başlatan işlem olduğunu bilin.

PreviousProcess DetaylarıNextProcess Sonlandırma

Last updated 1 year ago