%50 indirim tüm planlar, sınırlı süre. Başlangıç ​​tarihi: $2.48/mo
10 dakika kaldı
Sunucular ve İşletim Sistemi

Süreç Yönetiminde Uzmanlaşmak – Linux ps aux Komutanlığı

Ada Lovegood By Ada Lovegood 10 dakika okuma Güncelleme tarihi: 11 Tem 2024
linux ps yardımcı komutu

Karşılaştığınız bir Linux sorununa yanıt bulmaya çalışan tarayıcınızda en az beş açık sekme daha var mı?
Bu davranış size veya genel olarak insanlara özgü değildir. Makineler de çoklu görev yapar. Ve tıpkı sizin gibi, Linux da çok görevlidir ve aynı anda birçok süreç devam etmektedir. İster Linux'u profesyonel olarak kullanan bir geliştirici olun, ister günlük aktiviteleriniz için Linux ile çalışan normal bir kullanıcı olun, sisteminiz üzerinde tam kontrol sağlamak için bu paralel süreçleri anlayabilmeniz gerekir. Süreç yönetimi ve sistem kontrolü bir Linux sistemini çalıştırmanın temel unsurlarıdır.

Sistemde çalışan süreçleri verimli bir şekilde yönetmek, gerçek zamanlı olarak neler olduğunu görmek, tüm arka plan süreçleri hakkında genel bir fikre sahip olmak ve sistem kaynaklarını kontrol etmek için süreç yönetimine ilişkin teknik bilgiye ihtiyacınız vardır. ps aux komutu, süreç yönetimi ve sistem kontrolünde hayati bir rol oynayan güçlü bir komuttur. Bu yazıda ps aux komutu ve kullanım durumları hakkında daha fazla bilgi edineceğiz. Ayrıca Linux süreçlerinin nasıl çalıştığının temellerini de ele alacağız.

Linux'ta Süreç Yönetimini Anlamak

Linux ile çalışırken sistemle olan etkileşimlerimizin çoğu komutlar şeklindedir. Linux'ta süreç, bir komutun yürütülmesidir. Linux süreç yönetimi, bir komutun başlattığı süreçlerin değiştirilmesini içerir. Bir işlemi sonlandırabilir, başlatabilir veya sonlandırılan işlemleri devam ettirebilirsiniz. Ayrıca devam eden komutları da değiştirebilirsiniz.

İki tür Linux işlemi vardır:

  • Ön plan süreçleri
  • Arka plan işlemleri

Linux Ön Plan Süreçleri

Ön plan işlemi, aktif olarak yürütülen ve genellikle kullanıcıyla sürekli ve gerçek zamanlı etkileşim gerektiren bir işlemdir. Ön plandaki bir süreç çalışırken diğer süreçlerin yürütülmesi duraklatılır. Yani başka herhangi bir komutu çalıştıramazsınız. Bir ön plan işlemi klavyeden girişi standart giriş veya stdin olarak alır. Daha fazla karışıklığı önlemek için stdin ve stdout, stderr ile birlikte Linux veri akışlarıdır. Temel olarak kullanıcının süreçle nasıl etkileşime girdiği ve bunun için veri sağladığıdır. İşlemin işlevselliğine ve girdisine bağlı olarak süreç tarafından üretilen standart çıktı veya stdout vardır. Ön plan işlemleri Linux'ta varsayılan yürütme modudur.

Linux Arka Plan Süreçleri

Arka plan işlemleri, kullanıcı etkileşimi gerektirmedikleri ve yalnızca terminalin tüm alanını kaplamadıkları ve diğer işlemlerin yürütülmesine izin verdikleri için ön plan işlemlerinin tam tersidir. Arka plan işlemlerinin giriş ve çıkış türleri de farklıdır. Genellikle stdin almazlar. Ancak işlemin sonuçları stdout olarak görüntülenebilmektedir. Arka plan işlemlerinin çıktısının görüntülenmesi, diğer ön plan işlemlerinin çıktısıyla eşzamanlı olarak gerçekleşir. Böylece diğer önemli eylemleri kesintiye uğratmadan arka plan sürecinin ilerlemesini veya sonuçlarını görebilirsiniz.

Linux'ta çok çeşitli görevlerin yürütülmesi komut satırına bağlı olduğundan, ön plandaki işlemler zahmetli olabilir, arka planda çalışan işlemler ise terminalinizi diğer görevler üzerinde çalışmaktan kurtarır. Dolayısıyla, ön plandaki bir görevi arka plana yerleştirmek burada yapılması makul bir şeydir. İçin arka plana bir işlem gönder öncelikle ön planda yürütülmesini durdurmalısınız. Bu basitçe CTRL+Z tuşlarına basılarak yapılır. Daha sonra bg komutunu yazarak sonlandırılan işlem arka planda yeniden çalışacaktır. Fg komutu işlemi tersine çevirecek ve ön plana çıkaracaktır.

İşlem Durumu; Sözdizimi, Komutlar ve Çıktıyı Yorumlama

Linux'ta etkili süreç yönetimi, ps aux komutuyla izlenebilen süreçlerin durumunun anlaşılmasını gerektirir. Ancak ps aux komutunu daha derinlemesine incelemeden önce farklı işlem durumları hakkında bilgi edinelim. Birkaç tür süreç ve süreç durumu olmasına rağmen, en yaygın olanların bir tablosunu burada bulabilirsiniz:

Süreç durumu Tanım
Koşu(R) İşlem şu anda çalışıyor ve CPU kaynaklarını kullanıyor.
Uyku Kesintisiz (S) İşlem, belirli bir girişin veya olayın yeniden çalışmaya başlamasını bekliyor. Şu anda CPU kaynaklarını kullanmıyor. Kaynaklar mevcut olduğunda veya sinyaller verildiğinde süreç yeniden başlar.
Kesintisiz (D) Kesintisiz uykudaki bir süreç gibi, kesintisiz bir uyku süreci de CPU kaynaklarını kullanmaz. Tek fark, sinyallere tepki vermemesi, ancak kaynaklar mevcut olduğunda hayata geri dönmesidir.
Durduruldu(T) Bir kullanıcı girişi veya belirli bir olay süreci duraklattı. Durdurulmuş durumdaki bir işlem herhangi bir CPU kaynağı kullanmaz.
Ölü(X) Süreç sonlandırıldı ve artık mevcut değil.

Bu süreç durumlarının iyi anlaşılması, Linux sistemlerini etkili bir şekilde yönetmenin ve sorun gidermenin çok önemli bir yönüdür. Şimdi Linux'ta süreç durumunu elde etmek için sözdizimi ve komutların yanı sıra çıktının nasıl yorumlanacağını ele alalım.

Süreç Durumunu Edinmeye Yönelik Sözdizimi ve Komutlar

Linux'ta işlem durumunu ps komutunun temel sözdizimiyle alabilirsiniz:

ps [process name]

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

yardımcı: Bu seçenek, sistemde çalışan tüm işlemlerin kapsamlı bir listesini gösterir. İşlem kimlikleri (PID'ler), ana işlem kimlikleri (PPID'ler), CPU ve bellek kullanımı ve işlem durumları gibi bilgiler sağlar. ps aux komutunun sağladığı çıktı çok daha düzenlidir, daha okunabilirdir ve temel ps komutundan çok daha fazla yararlı bilgi içerir.

ef: Bu seçenek, ağaç benzeri bir yapı olarak süreç hiyerarşisi de dahil olmak üzere, ekstra ayrıntılarla birlikte süreçlerin tam formatlı bir listesini gösterir.

l: Bu seçenek, işlemler hakkında daha ayrıntılı bilgi sunan uzun bir listeleme formatı sağlar.

Çıktıyı anlama

ps komutunu istenilen seçeneklerle çalıştırdığınızda sisteminizde o anda çalışan işlemleri temsil eden bir çıktı üretir. Çıktı, işlem kimliği (PID), ana işlem kimliği (PPID), CPU kullanımı, bellek kullanımı, işlem durumu, terminal türü ve komut adı dahil olmak üzere farklı işlem niteliklerini gösteren sütunlardan oluşur.

Aşağıda bu sütunların her birinin ne anlama geldiğine ilişkin bir açıklama yer almaktadır:

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

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

ZAMAN: Bu sütun, bu işlem tarafından dakika ve saniye cinsinden ne kadar CPU kullanıldığının göstergesidir.

CMD: Bu sütun, bu işlemi başlatan komutun adını temsil eder.

ps komutunun sağladığı bilgileri analiz etmek, Linux makinenizin davranışı hakkında daha derin bir fikir edinmenizi sağlar.

ps Komutu ile Süreç Yönetimi İçin İleri ps Teknikleri

Şimdi ps komutunun bazı gelişmiş özelliklerini ve bunların etkili bir şekilde nasıl kullanılabileceğini inceleyelim:

1. Süreç Sıralama

ps aux komutu, son çıktıyı farklı sütunlara göre sıralamak için kullanılabilir. Örneğin, işlemleri istediğiniz sırada görmek için işlem kimliğine veya CPU kullanımına göre sıralayabilirsiniz.

PS aux kullanarak işlem kimliğine göre işlemleri sıralamaya 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 sıralama pid'i

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

Süreçlerin ebeveyn-çocuk ilişkisini net bir şekilde görmek istiyorsanız ps komutunu orman seçeneğiyle kullanabilirsiniz.

ps -aux --forest

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

İşlemler arasındaki ilişkiyi ağaç benzeri bir düzende görmek için pstree komutunu da kullanabilirsiniz. Bu komut daha anlaşılır ve süreçler arasındaki hiyerarşiyi mükemmel bir şekilde gösteren bir çıktı oluşturacaktır. Bu komutu kullanmak için aşağıdaki komutu yazın:

pstree [pid or username]

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

3. Filtreleme İşlemleri

Belirli bir süreç grubuyla çalışmak istediğinizi düşünün; örneğin kullanıcılardan birinin tüm işlemlerini listelemek istiyorsunuz. Karakteristik bazlı filtreleme işlemleri ps komutu kullanılarak yapılabilmektedir. Bu örnekte işlemleri kullanıcı adına göre filtreledik.

ps -u [username]

ps komutunu kullanarak Linux işlemlerini filtrelemek

Ve ps aux grep komutu, komuta sağladığınız herhangi bir kalıp veya anahtar kelimeye göre işlemleri filtreleyebilir. Örnek olarak aşağıdaki koda bir göz atın:

ps aux grep komut örneği

Bu komut önce tüm işlemleri listeler ve çıktıyı, bu uzun listeyi işlem kimliğine göre filtrelemek için grep komutuna verir. Yukarıdaki görselde bilgilerinde 15 rakamı bulunan tüm işlemlerin listesini görebilirsiniz.

ps komutu ve yetenekleri hakkında daha detaylı bilgi için bu komutun kılavuz sayfasını okuyabilirsiniz. Aşağıdaki kod sizin için kılavuz sayfasını görüntüleyecektir:

man ps

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

Linux'ta süreç yönetiminin gerçekte nasıl çalıştığını daha iyi açıklamak için süreç önceliğini ve bunun nasıl değiştirileceğini de ele almalıyız. Birkaç işlemi çalıştırdığınız ve CPU'nun görevlerle aşırı yüklendiği bir durumu hayal edin. Bu durumda kaynaklarınızı düzgün çalışacak şekilde yönetmek istiyorsanız, çalışan görevlerin önceliğini değiştirmeniz gerekir. Linux'ta her sürecin bir öncelik değeri vardır. Bu değer, çekirdeğin görevleri önceliklendirmesine yardımcı olur. Öncelik numarası -20 ila 19 arasında değişir; 19 en az önemli görev ve -20 en acil görevdir. En yüksek önceliğe sahip işlem, diğer işlemlere kıyasla daha fazla CPU zamanı alır. Öncelik değerlerine genellikle "iyi" değerler denir; daha düşük güzel değerler daha yüksek önceliği gösterir.

Sistem kaynaklarını verimli bir şekilde tahsis etmek için nice ve renice komutlarını kullanabilirsiniz.

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

  • ps komutunu kullanarak tüm işlemlerin mevcut önceliğini görüntüleme:

Bu komut, tüm işlemleri, işlem kimlikleri (PID), komut adları ve geçerli öncelik (iyi değer) ile birlikte listeler:

 

ps -eo pid,cmd,nice

ps komutunu kullanarak tüm işlemlerin önceliğini alma

  • Nice komutunu kullanarak varsayılan yüksek önceliğe sahip bir işlemi başlatmak:

Bu komutu kullanarak tercih ettiğiniz önceliğe sahip bir işlemi başlatabilirsiniz:

nice -n [priority] [command]

[Öncelik]'i öncelik düzeyini temsil eden istenen negatif değerle ve [komut]'u yürütmek istediğiniz komutla değiştirin.

İşte bir örnek:

varsayılan yüksek öncelikli bir işlemi başlatmak

  • Zaten çalışmakta olan bir komutun önceliğini değiştirmek:
renice -n [priority] -p [PID]

Değiştirmek istediğiniz işlemin işlem kimliğini [PID] ile değiştirin.

Her türlü görevi gerçekleştirebilecek güçlü bir Linux makinesine sahip olmak istiyorsanız, Linux VPS'si sizin için en iyi çözümdür. Cloudzy tercih ettiğiniz dağıtımın önceden yüklenmiş olduğu çeşitli Linux VPS planları sunar. 7/24 destek, 30 günlük para iade politikası ve %99,95 kesintisiz çalışma garantisi gibi birçok avantajlı özelliğiyle Cloudzy, fiyatları düşük tutmayı başardı. Linux VPS fiyatlarımız ayda yalnızca 4,95dan başlıyor.

Linux VPS Barındırma

Web sitenizi veya uzak masaüstünüzü barındırmak için kendinize en ucuz fiyata ekonomik veya premium Linux VPS edinin. VPS, daha fazla verimlilik için Linux KVM üzerinde çalışır ve daha yüksek hız için NVMe SSD depolama ile güçlü donanım üzerinde çalışır.

Devamını oku

Çözüm

Sonuç olarak, süreç yönetimi ve sistem kontrolünde uzmanlaşmak sistem yöneticileri, daha fazlasını öğrenmek isteyen Linux meraklıları ve düzenli Linux kullanıcıları için bir zorunluluktur. ps komutunun yetenekleri ve işlevleri hakkında bilgi edinmek, süreç yönetimini öğrenmede yolunuzu kolaylaştırabilir. Bu nedenle bu makale ps komutunun önemli kullanım örneklerini ele almanın yanı sıra okuyuculara Linux süreçlerine bir giriş sağladı.

SSS

Linux'ta ps aux komutu nedir?

ps aux Linux komutu, çalışan işlemler hakkında bilgi edinmek için Linux'ta yaygın olarak kullanılan bir komuttur. Süreç kimlikleri (PID'ler), CPU ve bellek kullanımı, yürütme durumları ve diğer hayati ayrıntılar dahil olmak üzere, kullanıcı dostu bir formatta kapsamlı bir süreç listesi sağlayabilir.

Linux'ta iki tür süreç nedir?

Ön plan süreçleri ve arka plan süreçleri. Ön plan işlemleri çalışırken terminali işgal eder ve diğer işlemlere izin vermez. Arka plan işlemleri arka planda çalışır ve terminalin tamamını kaplamaz.

Linux sistemimde çalışan işlemlerin listesini nasıl görüntüleyebilirim?

Linux sisteminizde çalışan işlemlerin listesi ps, top veya htop gibi komutlar kullanılarak görüntülenebilir. Örneğin Linux ps aux komutu, çalışan tüm işlemler hakkında ayrıntılı bilgi sağlar.

Paylaşmak

Blogdan daha fazlası

Okumaya devam edin.

Cosmos Cloud ile Çalıştırabileceğiniz En İyi Kendi Kendine Barındırılan Uygulamalar Cosmos kontrol panelinin etrafındaki uygulama panellerini içeren kapak resmi.
Sunucular ve İşletim Sistemi

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

Belki Cosmos Cloud'u kurdunuz ve şimdi hangi uygulamaların onunla iyi eşleştiğini görmek istiyorsunuz ya da belki henüz Cosmos'a karar vermediniz ve sadece işinize ne kadar iyi uyduğunu görmek istiyorsunuz.

Nick GümüşNick Gümüş 16 dakikalık okuma
Docker Uygulamalarını Yönetmek için Portainer ve Cosmos Cloud, hibrit kurulum şeması ve neon operasyonlar ve erişim blokları ile kapsıyor.
Sunucular ve İşletim Sistemi

Portainer ve Cosmos Cloud: Docker Uygulama Yönetimi için En İyi Uyum

Docker'ı zaten biliyorsanız ve büyüyen bir uygulama yığınını çalıştırmanın daha temiz bir yolunu istiyorsanız işte Portainer ve Cosmos Cloud'un kısa yanıtı. Portainer yönetmenlik için daha güçlü bir seçim

Nick GümüşNick Gümüş 14 dakikalık okuma
Cosmos Cloud, CasaOS ve Umbrel karşılaştırması, soyut bir bulut ağı dünyasında kendi kendine barındırılan üç yolu gösteren grafik özelliği.
Sunucular ve İşletim Sistemi

Cosmos Cloud, CasaOS ve Umbrel: Hangi Kendi Kendine Barındırılan Platform Kurulumunuza Uygun?

Kısa cevap, CasaOS'un hala başlamak için en kolay yer olduğu, Umbrel'in en temiz küratörlük hissine sahip olduğu ve Cosmos Cloud'un, doma üzerinde daha sıkı kontrol istediğinizde daha mantıklı olduğudur.

Nick GümüşNick Gümüş 11 dakikalık okuma

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

Bağımsız bulut, 2008'den beri. AMD EPYC, NVMe, 40 Gbps. 14 gün içinde para iadesi.