Linux İşlemlerini İzlemek için ps Komutu Nasıl Kullanılır

Linux dizüstü bilgisayarda bir terminal penceresi.

Fatmawati Achmad Zaenuri/Shutterstock



|__+_| ile Linux bilgisayarınızda çalışan işlemlerin anlık görüntüsünü alın. emretmek . İşlemleri ada, kullanıcıya ve hatta terminale göre istediğiniz kadar çok veya az ayrıntıyla bulun. Size nasıl olduğunu gösteriyoruz.

Linux'ta Süreç Yönetimi

Tüm Linux ve Unix benzeri işletim sistemlerinin atan kalbi çekirdektir. Pek çok sorumluluğu arasında, RAM ve CPU zamanı gibi sistem kaynaklarının tahsisi yer alır. Bunların gerçek zamanlı olarak dengelenmesi gerekir, böylece çalışan tüm süreçler, her bir görevin önceliğine göre adil paylarını alırlar.





Bazen görevler kilitlenebilir, sıkı bir döngüye girebilir veya başka nedenlerle yanıt vermeyebilir. Veya çalışmaya devam edebilir, ancak çok fazla CPU veya RAM tüketebilir veya eşit derecede anti-sosyal bir şekilde davranabilirler. Bazen görevlerin, katılan herkese merhamet etmek için öldürülmesi gerekir. İlk adım. Tabii ki, söz konusu süreci belirlemektir.

Ama belki de herhangi bir görev veya performans sorununuz yoktur. Belki de bilgisayarınızda hangi işlemlerin çalıştığını merak ediyorsunuz ve kaputun altına bakmak istiyorsunuz. |__+_| komut bu ihtiyaçların her ikisini de karşılar. sana verir bilgisayarınızın içinde neler olup bittiğinin bir anlık görüntüsü şu anda.



|_+_| tam olarak ihtiyacınız olan bilgiyi tam olarak istediğiniz formatta size verecek kadar esnektir. Aslında, |__+_| çok fazla seçeneğe sahip. Burada açıklanan seçenekler en yaygın ihtiyaçları karşılayacaktır. Daha derine inmeniz gerekiyorsa |_+_| Bu makalede ele aldığımızdan çok, girişimizin kılavuz sayfasının daha kolay sindirilmesini sağladığını göreceksiniz.

Listeleme İşlemleri

|_+_| kullanmanın en kolay yolu parametresiz ateşlemektir:

ps



Reklamcılık

|_+_| komutu çalıştıran kullanıcı tarafından başlatılan işlemlerin bir listesini görüntüler.

Dört sütun şunlardır:

    PID: İşlemin işlem kimlik numarası. TTY: Kullanıcının oturum açtığı konsolun adı. ZAMAN: İşlemin kullandığı CPU işlem süresi miktarı. CMD: İşlemi başlatan komutun adı

Tüm Kullanıcılar İçin Listeleme Süreci

|__+_| ekleyerek (tüm işlemleri seçin) yapabileceğimiz |__+_| sadece |_+_| çalıştıran kullanıcı tarafından değil, tüm kullanıcılar tarafından başlatılan işlemleri listeleyin emretmek. Bu uzun bir liste olacağı için, onu |_+_| içine aktarıyoruz.

ps

İşlem listesi |__+_| içine aktarılır.

Listede çok daha fazla girdi var, ancak öncekiyle aynı dört sütunu görüyoruz. Soru işaretli girişler |_+_| |__+_| sütun bir terminal penceresinden başlatılmadı.

Süreç Hiyerarşisini Gösterme

Hangi süreçlerin diğer süreçleri başlattığını görebiliyorsanız, bazen bir sorunu çözmenize veya belirli bir süreci tanımlamanıza yardımcı olabilir. |__+_| (hiyerarşi) seçeneği bunu yapmak için.

ps

Girinti, hangi süreçlerin hangi diğer süreçlerin ebeveynleri olduğunu gösterir.

Reklamcılık

Biraz daha netlik eklemek için |__+_| biraz eklemek ASCII çizgiler ve hiyerarşiyi bir ağaç olarak çizmek. Bunu yapma seçeneği |_+_| seçenek.

ps

Bu, hangi süreçlerin diğer süreçlerin ebeveynleri olduğunu izlemeyi kolaylaştırır.

İşlemleri Ada Göre Listeleme

Çıktıyı |_+_| |__+_| girişleri listelemek için arama terimiyle eşleşen adları olan . Burada, firefox arama terimiyle eşleşen girdileri arıyoruz:

ps

Bu durumda çıktı, ilgilendiğimiz işlem için tek bir giriştir. Tabii ki, Firefox'un birkaç örneğini başlatmış olsaydık, listede birden fazla öğe döndürülürdü.

Çıktıda Daha Fazla Sütun Gösterme

Çıktıya daha fazla sütun eklemek için |__+_| (tam format) seçeneği.

ps

|__+_| çıktısına fazladan bir sütun kümesi dahil edilmiştir.

Sütunlar:

    kullanıcı kimliği: Bu işlemin sahibinin kullanıcı kimliği. PID: İşlemin işlem kimliği. PPID: Sürecin üst süreç kimliği. C: Sürecin sahip olduğu çocuk sayısı. TAHMİNLER: Başlangıç ​​saati. Sürecin başladığı zaman. TTY: Kullanıcının oturum açtığı konsolun adı. ZAMAN: İşlemin kullandığı CPU işlem süresi miktarı. CMD: İşlemi başlatan komutun adı.
Reklamcılık

|__+_| (ekstra tam format) seçeneğiyle daha da fazla sütun alabiliriz:

ps

Bu sefer elde ettiğimiz sütunlar, hepsini ortaya çıkarmak için ekranın yana doğru kaydırılmasını gerektiriyor.

Sağ Ok tuşuna basmak, ekranı sola kaydırır.

Şimdi elde ettiğimiz sütunlar:

    kullanıcı kimliği: Bu işlemin sahibinin kullanıcı kimliği. PID: İşlemin işlem kimliği. PPID: Sürecin üst süreç kimliği. C: Sürecin sahip olduğu çocuk sayısı. S: İşlem görüntüsünün RAM sayfalarındaki boyut. RSS: Yerleşik set boyutu. Bu, işlem tarafından kullanılan takas edilmeyen fiziksel bellektir. PSR: İşlemin atandığı işlemci. TAHMİNLER: Başlangıç ​​saati. Sürecin başladığı zaman. TTY: Kullanıcının oturum açtığı konsolun adı. ZAMAN: İşlemin kullandığı CPU işlem süresi miktarı. CMD: İşlemi başlatan komutun adı.

İşlem Kimliğine göre İşlemleri Listeleme

İlgilendiğiniz sürecin süreç kimliğini bulduktan sonra, bunu |_+_| bu işlemin ayrıntılarını listelemek için komut. |__+_| Bunu başarmak için (işlem kimliğine göre seçin) seçeneği:

-e

Bu işlemin ayrıntıları listelenmiştir:

Tek bir işlem kimliğiyle sınırlı değilsiniz. Boşluklarla ayrılmış bir süreç kimlikleri listesi sağlayabilirsiniz.

İşlemleri Komuta Göre Listeleme

|__+_| (komut) seçeneği, komut adını kullanarak bir işlemi aramanıza izin verir. Yani, işlemi başlatan komutun adı. Bu, yol adlarını ve parametreleri veya seçenekleri içerebilen komut satırından oldukça farklıdır.

ps

Deklanşör işleminin detayları listelenir.

Bir Kullanıcının Sahip Olduğu İşlemleri Listeleme

Belirli bir kullanıcının sahip olduğu işlemleri görmek için |__+_| (kullanıcı listesi) seçeneği:

ps

Reklamcılık

Mary kullanıcı hesabının sahip olduğu işlemler görüntülenir.

Terminale Göre İşlemleri Listeleme

Bir TTY ile ilişkili işlemleri görmek için |__+_| (TTY ile seçin) seçeneği. TTY numarası olmadan kullanılan |__+_| mevcut terminal penceresiyle ilişkili işlemler hakkında seçenek raporları.

less less

|__+_| komut bunun sözde teletip 0 olduğunu bildirir. |_+_| tarafından listelenen işlemler tümü TTY |__+_| ile ilişkilidir.

Komut satırına bir TTY numarası iletirsek, o TTY ile ilişkili süreçlerin bir raporunu almalıyız.

?

Bu sefer işlemlerin tümü TTY |__+_| ile ilişkilendirilmiştir.

İLİŞKİLİ: Linux'ta TTY nedir? (ve tty Komutu Nasıl Kullanılır)

Görüntülenecek Sütunları Seçme

|__+_| ile (format) seçeneğinde, çıktıya hangi sütunların dahil edilmesini istediğinizi |_+_| öğesinden seçebilirsiniz. Sütunları ada göre belirtirsiniz. Sütun adlarının (uzun) listesi şurada görülebilir: adam sayfası Standart Format Belirteçleri başlıklı bölümde. Bu örnekte, çıktıya CPU zamanını (|_+_|) ve bağımsız değişkenleri olan komut satırını (|_+_|) dahil etmeyi seçiyoruz.

TTY

Çıktı yalnızca bizim istenen iki sütunumuzu içerir.

Çıktıyı Sütunlara Göre Sıralama

|_+_| kullanarak çıktının sizin için sıralanmasını sağlayabilirsiniz. seçenek. Çıktıyı CPU sütununa göre sıralayalım:

-H

Kısa çizgi |_+_| |__+_| üzerinde sort parametresi azalan bir sıralama düzeni verir.

CPU'nun en yoğun olduğu on işlemi görmek için çıktıyı |_+_| emretmek :

ps

Sıralanmış, kesilmiş bir liste elde ederiz.

Ekranımıza daha fazla sütun eklersek, daha fazla sütuna göre sıralayabiliriz. |_+_| kolon. Bu, işlem tarafından kullanılan bilgisayar belleğinin yüzdesidir. Kısa çizgi olmadan veya artı |__+_| ile sıralama düzeni artandır.

--forest

Ekstra sütunumuzu alıyoruz ve yeni sütun sıralamaya dahil ediliyor. İlk sütun ikinci sütundan önce sıralanır ve ikinci sütun |__+_| üzerine tire koymadığımız için artan düzende sıralanır.

Reklamcılık

Biraz daha kullanışlı hale getirelim ve işlem kimliği sütununa (|__+_|) ekleyelim ki listemizde her işlemin işlem numarasını görebilelim.

ps

Artık süreçleri tanımlayabiliriz.

ps -e -o pid,pcpu,pmem,args --sort -pcpu,pmem | kafa 10

İşlem Kimliğine Göre İşlemleri Sonlandırma

Ad, komut, kullanıcı ve terminal dahil olmak üzere süreçleri tanımlamanın çeşitli yollarını ele aldık. CPU kullanımı ve bellek gibi dinamik özniteliklerine göre süreçleri tanımlamanın yollarını da ele aldık.

Böylece, şu ya da bu şekilde, çalışmakta olan süreçleri tanımlayabiliriz. İşlem kimliklerini bilerek, (gerekirse) yapabiliriz bu süreçlerden herhangi birini öldür |__+_| emretmek. 898 işlemini sonlandırmak isteseydik, bu formatı kullanırdık:

grep

Her şey yolunda giderse, süreç sessizce sonlandırılır.

İLİŞKİLİ: Linux Terminalinden İşlemler Nasıl Öldürülür

Adına Göre Öldürme İşlemleri

|__+_| komut yapmanızı sağlar süreçleri isme göre öldür . Doğru süreci tanımladığınızdan emin olun! Bu komut en üstteki işlemi sonlandıracaktır.

-f

Yine, hiçbir haber iyi haber değildir. İşlem sessizce sonlandırılır.

Birden Çok İşlemi Ada Göre Öldürme

Çalışan bir işlemin birden fazla kopyasına sahipseniz veya bir işlem bir dizi alt işlem ürettiyse (Google Chrome'un yapabileceği gibi), bunları nasıl öldürebilirsiniz? Bu kadar kolay. |__+_| emretmek.

En iyi çalışan iki kopyamız var:

ps

sonlandırabiliriz her ikisi de bu komutla :

-F

Reklamcılık

Yanıt olmaması, sorun olmadığı anlamına gelir, bu nedenle bu işlemlerin ikisi de sonlandırılmıştır.

termonal pencerede sudo killall top çıktısı

Üst ile Dinamik Görünüm elde edin

|__+_| öğesinden çıktı anlık görüntü görünümüdür. Güncelleme yapmıyor. İşlemlerin güncellenmiş bir görünümünü elde etmek için |__+_| emretmek. Bir sağlar bilgisayarınızda çalışan işlemlerin dinamik görünümü . Gösterge iki kısımdır. Ekranın üst kısmında metin satırlarından oluşan bir pano alanı, ekranın alt kısmında ise sütunlardan oluşan bir tablo bulunmaktadır.

Başlat |_+_| bu komutla:

ps

Sütunlar, süreçlerle ilgili bilgileri tutar:

    PID: İşlem Kimliği KULLANICI: İşlem sahibinin adı halkla ilişkiler: İşlem önceliği NI: Sürecin güzel değeri SAYGIN: İşlem tarafından kullanılan sanal bellek BİFTEK: İşlem tarafından kullanılan yerleşik bellek SHR: İşlem tarafından kullanılan paylaşılan bellek S: İşlemin durumu. Bu alanın alabileceği değerlerin aşağıdaki listesine bakın %İŞLEMCİ: son güncellemeden bu yana süreç tarafından kullanılan CPU zamanının payı %MEM: kullanılan fiziksel bellek payı ZAMAN+: görev tarafından saniyenin yüzde biri cinsinden kullanılan toplam CPU süresi EMRETMEK: komut adı veya komut satırı (ad ve komut satırı parametreleri) Komut sütunu görünmüyorsa Sağ Ok tuşuna basın.

İşlemin durumu şunlardan biri olabilir:

    D: Kesintisiz uyku r: Koşma S: Uyuyor T: İzlendi (durduruldu) İLE: zombi

|__+_| konumundan çıkmak için Q tuşuna basın.

İLİŞKİLİ: 37 Bilmeniz Gereken Önemli Linux Komutları

Bir Süreci Öldürmeden Önce

Peşinde olduğunuzdan emin olun ve size herhangi bir soruna neden olmayacağını kontrol edin. Özellikle |__+_| (hiyerarşi) ve |_+_| Unuttuğunuz önemli alt süreçlere sahip olmadığından emin olmak için seçenekler.

Linux Komutları
Dosyalar katran · pv · kedi · tak · chmod · kavramak · fark · sed · İle · adam · itti · popd · fsck · test diski · sıra · fd · pandok · CD · $YOL · awk · katılmak · jq · katlamak · tek · dergictl · kuyruk · belirtmek, bildirmek · ls · fstab · dışarı attı · az · chgrp · yemek · devir · bakmak · Teller · tip · Adını değiştirmek · fermuar · sıkıştırmayı açmak · binmek · umount · Yüklemek · fdisk · mkfs · rm · rmdir · rsync · df · gpg · Biz · nano · mkdir · itibaren · içinde · yama · dönüştürmek · rklon · parçalamak · SRM
süreçler takma ad · ekran · Tepe · Güzel · iyisin · ilerleme · iz · sistem · tmux · chsh · Tarih · de · grup · Bedava · hangisi · mesaj · kullanıcı modu · ps · chroot · xargs · tty · pembemsi · lsof · vmstat · zaman aşımı · duvar · Evet · öldürmek · uyku · sudo · onun · zaman · grup ekle · kullanıcı modu · gruplar · lshw · kapat · yeniden başlat · Dur · Kapat · şifre · lscpu · crontab · tarih · erkek arkadaş · fg
netstat · ping atmak · iz yolu · ip · ss · kim · fail2ban · bmon · sen · parmak · nmap · ftp · kıvrılmak · wget · kim · ben kimim · İçinde · iptables · ssh-keygen · ufw

İLİŞKİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar

SONRAKİ OKUYUN Dave McKay için profil fotoğrafı Dave McKay
Dave McKay bilgisayarları ilk olarak delikli kağıt bantlar moda olduğunda kullandı ve o zamandan beri programlama yapıyor. Bilişim sektöründe 30 yılı aşkın bir sürenin ardından, şimdi tam zamanlı bir teknoloji gazetecisidir. Kariyeri boyunca serbest programcı, uluslararası bir yazılım geliştirme ekibinin yöneticisi, BT hizmetleri proje yöneticisi ve son olarak Veri Koruma Görevlisi olarak çalıştı. Yazıları howtogeek.com, cloudsavvyit.com, itenterpriser.com ve opensource.com tarafından yayınlandı. Dave bir Linux evangelisti ve açık kaynak savunucusudur.
Biyografinin tamamını okuyun

Ilginç Haberler