%50 indirim tüm planlarda, sınırlı süre. Başlangıç fiyatı $2.48/mo
10 dakika kaldı
Sunucular ve İşletim Sistemleri

Süreç Yönetiminde Ustalaşın: Linux ps aux Komutu

Ada Sevgigüzel By Ada Sevgigüzel 10 dk okuma Güncellendi 11 Tem 2024
linux ps aux komutu

Karşılaştığınız bir Linux sorununa yanıt ararken tarayıcınızda en az beş sekme daha açık mı?
Bu davranış size ya da insanlara özgü değil. Makineler de aynı anda birden fazla işlem yapar. Tıpkı sizin gibi, Linux de çok görevlidir ve aynı anda pek çok işlem yürütür. Linux'yi profesyonel amaçlarla kullanan bir geliştirici ya da günlük işleri için kullanan sıradan bir kullanıcı olun; sisteminiz üzerinde tam denetim sağlamak için bu paralel işlemleri anlamanız gerekir. Süreç yönetimi ve sistem denetimi, bir Linux sisteminin sağlıklı işletilmesinin temel unsurlarıdır.

Sistemde çalışan işlemleri verimli biçimde yönetmek, anlık durumu izlemek, arka plan işlemleri hakkında genel bir fikir edinmek ve sistem kaynaklarını denetlemek için süreç yönetimine ilişkin teknik bilgiye ihtiyaç duyarsınız. ps aux komutu, süreç yönetimi ve sistem denetiminde kritik bir rol oynayan güçlü bir komuttur. Bu yazıda ps aux komutunu ve kullanım alanlarını daha ayrıntılı ele alacağız. Linux işlemlerinin nasıl çalıştığının temellerini de inceleyeceğiz.

Linux'de Süreç Yönetimini Anlamak

Linux ile çalışırken sistemle etkileşimimizin büyük bölümü komutlar aracılığıyla gerçekleşir. Linux'de bir işlem, bir komutun çalıştırılmasından ibarettir. Linux süreç yönetimi, bir komutun başlattığı işlemleri düzenlemeyi kapsar. Bir işlemi sonlandırabilir, yeni bir işlem başlatabilir veya durdurulmuş işlemleri yeniden devreye sokabilirsiniz. Devam eden komutlar üzerinde de işlem yapabilirsiniz.

Linux süreçlerinin iki türü vardır:

  • Ön plandaki işlemler
  • Arka plan işlemleri

Linux Ön Plan Süreçleri

Ön plan süreci, aktif olarak yürütülen ve genellikle kullanıcıyla sürekli, gerçek zamanlı etkileşim gerektiren bir süreçtir. Bir ön plan süreci çalışırken diğer süreçlerin yürütülmesi duraklatılır; bu süre içinde başka komut çalıştıramazsınız. Ön plan süreci, klavyeden standart girdi yani stdin olarak veri alır. Karışıklığı önlemek adına belirtelim: stdin ve stdout, stderr ile birlikte Linux veri akışlarıdır. Bu akışlar, kullanıcının süreçle nasıl etkileşime girdiğini ve ona nasıl veri sağladığını tanımlar. Sürecin işlevselliğine ve aldığı girdiye göre ürettiği çıktı ise standart çıktı yani stdout olarak adlandırılır. Linux'de süreçler varsayılan olarak ön planda çalışır.

Linux Arka Plan Süreçleri

Arka plan süreçleri, ön plan süreçlerinin tam tersidir. Kullanıcı etkileşimi gerektirmezler ve terminali tamamen meşgul etmezler; bu sayede diğer süreçler aynı anda çalışmaya devam edebilir. Girdi ve çıktı biçimleri de farklıdır: arka plan süreçleri genellikle stdin almaz, ancak sonuçları stdout olarak ekrana yansıtılabilir. Bu çıktı, ön planda çalışan diğer süreçlerin çıktısıyla eş zamanlı olarak görüntülenir. Böylece önemli işlemleri aksatmadan arka plan sürecinin ilerleyişini veya sonuçlarını takip edebilirsiniz.

Linux'de pek çok işlem komut satırına bağlı olduğundan, ön plan süreçleri terminali meşgul ederek diğer görevlerin önünü tıkayabilir. Bir süreci arka planda çalıştırmak ise terminali serbest bırakır. Bu nedenle bir ön plan görevini arka plana taşımak çoğu zaman mantıklı bir tercih olur. Bir süreci arka plana taşımak için önce ön planda çalışmasını durdurmanız gerekir. Bunu yapmak için CTRL+Z tuş kombinasyonunu kullanmanız yeterlidir. Ardından bg komutunu yazarak durdurulan süreç arka planda yeniden başlatılır. fg komutu ise bu işlemi tersine çevirir ve süreci tekrar ön plana getirir.

Süreç Durumu: Söz Dizimi, Komutlar ve Çıktıyı Yorumlama

Linux'de süreçleri etkili biçimde yönetmek için ps aux komutuyla izlenebilen süreç durumlarını iyi anlamak gerekir. ps aux komutuna geçmeden önce farklı süreç durumlarına bakalım. Pek çok süreç türü ve durum bulunmakla birlikte, en sık karşılaşılanlar aşağıdaki tabloda özetlenmiştir:

İşlem durumu açıklama
Çalışıyor(R) Süreç şu anda çalışıyor ve CPU kaynaklarını kullanıyor.
Uyku modunda Kesintiye Uğratılabilir (S) Süreç, yeniden çalışmaya başlamak için belirli bir girdi veya olay bekliyor. Şu anda CPU kaynakları kullanmıyor. Kaynaklar hazır hale geldiğinde veya sinyal gönderildiğinde süreç yeniden başlıyor.
Kesintisiz (D) Kesilebilir uyku durumundaki bir süreç gibi, kesilemeyen uyku durumundaki süreç de CPU kaynakları kullanmıyor. Tek fark, bu sürecin sinyallere tepki vermemesi ve yalnızca kaynaklar hazır olduğunda aktif hale gelmesidir.
Durduruldu(T) Bir kullanıcı girdisi veya belirli bir olay süreci durdurdu. Durdurulmuş durumdaki bir süreç hiçbir CPU kaynağı kullanmıyor.
Ölü(X) Süreç sonlandırıldı ve artık mevcut değil.

Bu süreç durumlarını iyi kavramak, Linux sistemlerini etkili biçimde yönetmek ve sorunları gidermek için kritik öneme sahiptir. Şimdi Linux'de süreç durumu sorgulamaya yönelik söz dizimi ve komutlara, ardından da çıktının nasıl yorumlanacağına geçelim.

Süreç Durumu Sorgulamak İçin Söz Dizimi ve Komutlar

Linux'de süreç durumunu ps komutunun temel söz dizimiyle öğrenebilirsiniz:

ps [process name]

ps komutuyla birlikte kullanılabilecek başka seçenekler de vardır:

aux: Bu seçenek, sistemde çalışan tüm süreçlerin kapsamlı bir listesini gösterir. Süreç kimlikleri (PID), üst süreç kimlikleri (PPID), CPU ve bellek kullanımı ile süreç durumları gibi bilgileri içerir. ps aux komutunun çıktısı, temel ps komutuna kıyasla çok daha düzenli, okunması kolay ve bilgi açısından zengindir.

ef: Bu seçenek, süreç hiyerarşisini ağaç yapısı olarak da içeren tam biçimli bir süreç listesi gösterir.

l: Bu seçenek, süreçler hakkında daha ayrıntılı bilgi sunan uzun liste biçimini kullanır.

Çıktıyı Anlamak

ps komutunu istediğiniz seçeneklerle çalıştırdığınızda, sistemde o an çalışan süreçleri gösteren bir çıktı üretilir. Bu çıktı; süreç kimliği (PID), üst süreç kimliği (PPID), CPU kullanımı, bellek kullanımı, süreç durumu, terminal türü ve komut adı gibi farklı süreç özelliklerini gösteren sütunlardan oluşur.

Bu sütunların her birinin ne anlama geldiğine dair açıklama aşağıda verilmiştir:

PID: Bu sütun, işlemin benzersiz kimliğini (ID) gösterir.

TTY: Bu sütun, kullanıcının oturum açtığı terminal türünü gösterir.

ZAMAN: Bu sütun, bu işlemin CPU kullanımını dakika ve saniye cinsinden gösterir.

CMD: Bu sütun, işlemi başlatan komutun adını gösterir.

ps komutunun sağladığı bilgileri analiz etmek, Linux makinenizin davranışını daha iyi anlamanızı sağlar.

ps Komutu ile Gelişmiş Süreç Yönetimi Teknikleri

ps komutunun gelişmiş özelliklerini ve bunların nasıl etkin biçimde kullanılabileceğini inceleyelim:

1. İşlem Sıralaması

ps aux komutu, çıktıyı farklı sütunlara göre sıralamak için kullanılabilir. Örneğin süreçleri işlem kimliğine veya CPU kullanımına göre sıralayarak istediğiniz düzende görüntüleyebilirsiniz.

Süreçleri işlem kimliğine göre sıralamak için ps aux kullanımına bir örnek:

ps aux –-sort pid

head komutu, çıktının yalnızca ilk beş satırını almak için kullanılır.

ps aux pid'ye göre sırala

2. Süreç Ağacı Görselleştirmesi

Süreçler arasındaki ebeveyn-alt süreç ilişkisini net biçimde görmek istiyorsanız ps komutunu forest seçeneğiyle kullanabilirsiniz.

ps -aux --forest

Linux süreçlerinin ebeveyn-alt süreç ilişkisi

Süreçler arasındaki ilişkiyi ağaç yapısında görüntülemek için pstree komutunu da kullanabilirsiniz. Bu komut, süreçler arasındaki hiyerarşiyi daha anlaşılır biçimde gösteren bir çıktı oluşturur. Komutu kullanmak için aşağıdakini girin:

pstree [pid or username]

Bu komuta bir PID vererek, o işlemi ağacın kökü olarak kabul etmesini söylemiş olursunuz.

3. Filtreleme İşlemleri

Belirli bir süreç grubuyla çalışmak istediğinizi düşünün; örneğin belirli bir kullanıcıya ait tüm süreçleri listelemek istiyorsunuz. Süreçleri bir özelliğe göre filtrelemek için ps komutu kullanılabilir. Bu örnekte süreçleri kullanıcı adına göre filtreledik.

ps -u [username]

ps komutu ile Linux süreçlerini filtreleme

ps aux grep komutu ise süreçleri, sağladığınız herhangi bir örüntü veya anahtar kelimeye göre filtreleyebilir. Örnek olarak aşağıdaki koda bakın:

ps aux grep komutu örneği

Bu komut önce tüm süreçleri listeler ve ardından çıktıyı grep komutuna ileterek bu uzun listeyi işlem kimliğine göre filtreler. Yukarıdaki görselde, bilgilerinde 15 rakamı geçen tüm süreçlerin listelendiğini görebilirsiniz.

ps komutu ve yetenekleri hakkında daha fazla bilgi almak için bu komutun kılavuz sayfasını inceleyebilirsiniz. Aşağıdaki kod kılavuz sayfasını görüntüler:

man ps

Linux'de Görev Önceliğini Yönetme

Linux'de süreç yönetiminin gerçekte nasıl işlediğini daha iyi açıklamak için süreç önceliğine ve bunun nasıl değiştirileceğine de değinmek gerekir. Birden fazla süreç çalıştırdığınızı ve CPU'nin görevlerle aşırı yüklendiğini düşünün. Bu durumda kaynaklarınızı verimli kullanmak için çalışan görevlerin önceliğini değiştirmeniz gerekir. Linux'deki her sürecin bir öncelik değeri vardır. Bu değer, çekirdeğin görevleri önceliklendirmesine yardımcı olur. Öncelik değerleri -20 ile 19 arasında değişir; 19 en düşük önceliği, -20 ise en yüksek önceliği temsil eder. En yüksek önceliğe sahip süreç, diğer süreçlere kıyasla daha fazla CPU süresi alır. Öncelik değerleri genellikle "nice" değerleri olarak adlandırılır; düşük nice değeri, yüksek önceliği ifade eder.

Sistem kaynaklarını verimli biçimde dağıtmak için nice ve renice komutlarını kullanabilirsiniz.

Ancak süreçlerin önceliğini değiştirmeden önce, ps komutunun ilk kullanım senaryosunu inceleyelim.

  • ps komutuyla tüm süreçlerin mevcut önceliğini görüntüleme:

Bu komut, tüm süreçleri işlem kimlikleri (PID), komut adları ve mevcut öncelikleri (nice değeri) ile birlikte listeler:

 

ps -eo pid,cmd,nice

ps komutuyla tüm süreçlerin önceliğini alma

  • nice komutuyla varsayılan yüksek öncelikli bir süreç başlatma:

Bu komutu kullanarak bir süreci istediğiniz öncelikle başlatabilirsiniz:

nice -n [priority] [command]

[priority] kısmını öncelik düzeyini belirten negatif değerle, [command] kısmını ise çalıştırmak istediğiniz komutla değiştirin.

I'm ready to translate to Turkish. Please provide the English text you'd like me to translate.

varsayılan yüksek öncelikle süreç başlatma

  • Halihazırda çalışan bir komutun önceliğini değiştirme:
renice -n [priority] -p [PID]

[PID] kısmını değiştirmek istediğiniz sürecin işlem kimliğiyle değiştirin.

Her türlü görevi gerçekleştirebileceğiniz güçlü bir Linux makinesi istiyorsanız, Linux VPS tam size göre bir çözümdür. Cloudzy tercih ettiğiniz dağıtım önceden yüklü olarak çeşitli Linux VPS planları sunar. 7/24 destek, 30 günlük para iade garantisi ve %99,95 çalışma süresi güvencesi gibi avantajlı özelliklerle Cloudzy, fiyatlarını düşük tutmayı başarmıştır. Linux VPS fiyatlarımız aylık yalnızca 4,95 dolardan başlamaktadır.

Linux VPS Barındırma

Web sitenizi veya uzak masaüstünüzü barındırmak için ekonomik ya da premium bir Linux VPS edinin; piyasadaki en uygun fiyatlarla. VPS, daha yüksek verimlilik için Linux KVM üzerinde çalışır ve hız odaklı NVMe SSD depolama ile güçlü donanım altyapısından yararlanır.

Devamını Oku

Sonuç

Sonuç olarak, süreç yönetimi ve sistem kontrolünü öğrenmek; sistem yöneticileri, daha fazlasını öğrenmek isteyen Linux meraklıları ve sıradan Linux kullanıcıları için bir zorunluluktur. ps komutunun yeteneklerini ve işlevlerini öğrenmek, süreç yönetimini kavramanızı kolaylaştırır. Bu nedenle bu makale, ps komutunun önemli kullanım senaryolarını ele alırken okuyuculara Linux süreçlerine giriş niteliğinde bilgiler de sunmuştur.

SSS

Linux'de ps aux komutu nedir?

Linux ps aux komutu, çalışan süreçler hakkında bilgi edinmek için Linux'de yaygın olarak kullanılan bir komuttur. Süreç kimliklerini (PID), CPU ve bellek kullanımını, çalışma durumlarını ve diğer önemli ayrıntıları içeren kapsamlı bir süreç listesini kullanıcı dostu bir biçimde sunar.

Linux'de iki tür süreç nelerdir?

Ön plan süreçleri ve arka plan süreçleri. Ön plan süreçleri çalışırken terminali meşgul eder ve başka işlemlerin yürütülmesine izin vermez. Arka plan süreçleri arka planda çalışır ve terminalin tamamını kullanmaz.

Linux sistemimde çalışan süreçlerin listesini nasıl görebilirim?

Linux sisteminizdeki çalışan süreçlerin listesini ps, top veya htop gibi komutlarla görüntüleyebilirsiniz. Örneğin Linux ps aux komutu, çalışan tüm süreçler hakkında ayrıntılı bilgi verir.

Paylaş

Blogdan daha fazlası

Okumaya devam et.

Cosmos Cloud ile Çalıştırabileceğiniz En İyi Kendi Hostinginizi Yönettiğiniz Uygulamalar - uygulama panelleri ve Cosmos kontrol paneli ile kapak görseli.
Sunucular ve İşletim Sistemleri

Cosmos Cloud ile Çalıştırabileceğiniz En İyi Kendi Sunucusunda Barındırılan Uygulamalar: Dosyalar, Medya, Parolalar, Otomasyon ve Daha Fazlası!

Maybe Cosmos Cloud kurulumunu tamamladın ve hangi uygulamaların bununla iyi çalıştığını görmek istiyorsun ya da henüz Cosmos'a karar vermemiş olabilirsin ve iş akışına ne kadar uyduğunu öğrenmek istiyorsun

Nick GümüşNick Gümüş 16 dakikalık okuma
Portainer ile Cosmos Cloud'nin Docker Uygulamalarını Yönetmek İçin Karşılaştırması: Hibrit kurulum diyagramı ve neon ops ile erişim bloklarını içeren kapak görseli.
Sunucular ve İşletim Sistemleri

Portainer mı Cosmos Cloud mi: Docker Uygulama Yönetimi İçin Hangisi Daha Uygun?

Docker'yi zaten biliyorsanız ve büyüyen bir uygulama yığınını daha düzenli bir şekilde çalıştırmanın yolunu arıyorsanız, Portainer ile Cosmos Cloud karşılaştırmasının kısa yanıtı şu: Doğrudan yönetim için Portainer daha güçlü bir seçenek.

Nick GümüşNick Gümüş 14 dakika okuma
Cosmos Cloud, CasaOS ve Umbrel özellik görseli: Soyut bir bulut ağı dünyasında üç farklı self-hosted yolu bir arada gösteriyor.
Sunucular ve İşletim Sistemleri

Cosmos Cloud mı, CasaOS mi, Yoksa Umbrel mi: Kurulumunuza En Uygun Self-Hosted Platform Hangisi?

Kısa yanıt şu: CasaOS başlamak için hâlâ en kolay seçenek, Umbrel en temiz ve derli toplu deneyimi sunuyor; Cosmos Cloud ise alan adları ve altyapı üzerinde daha sıkı bir kontrol istediğinizde anlam kazanıyor.

Nick GümüşNick Gümüş 11 dakika okuma

Dağıtmaya hazır mısınız? Aylık 2,48 dan başlayan fiyatlarla.

2008'den bu yana bağımsız bulut. AMD EPYC, NVMe, 40 Gbps. 14 gün para iade garantisi.