Süreç yönetimi

Ubuntu Linux'ta Süreçleri Yönetme

Ubuntu Linux'ta Süreçleri Yönetme
Linux'ta süreçleri yönetmek, çok görevli bir işletim sistemi olduğundan ve aynı anda devam eden birçok sürece sahip olduğundan, öğrenilmesi ve anlaşılması önemli bir konudur. Linux, çalışan süreçleri listeleme, süreçleri öldürme, sistem kullanımını izleme vb. gibi süreçleri yönetmek için birçok araç sağlar. Linux'ta her işlem, İşlem Kimliği (PID) ile temsil edilir. Bir kullanıcı veya grup işlemi çalıştırıyorsa, işlemin kullanıcı kimliği ve grup kimliği gibi başka özellikleri de vardır. Bazen bir süreci öldürmeniz veya bir süreçle etkileşim kurmanız gerekir, bu nedenle sisteminizin sorunsuz çalışmasını sağlamak için bu süreçleri nasıl yöneteceğinizi bilmelisiniz. Linux'ta süreçler aşağıdaki gibi komutlarla yönetilebilir: ps, pstree, pgrep, pkill, lsof, top, nice, renice ve öldür, vb.

süreçler

Bir programın bir örneğini çalıştırmaya süreç denir. Linux'ta işlem kimliği (PID), her işlem için farklı olan bir işlemi temsil etmek için kullanılır. İki tür süreç vardır,

Arka Plan Süreçleri

Arka plan işlemleri terminalde başlar ve kendi kendine çalışır. Terminalde bir işlem çalıştırırsanız, çıktısı bir terminal penceresinde görüntülenecektir ve onunla etkileşime girebilirsiniz, ancak işlemle etkileşime girmeniz gerekmiyorsa, arka planda çalıştırabilirsiniz. Arka planda bir işlem çalıştırmak istiyorsanız, komutun sonuna bir “&” işareti eklemeniz yeterlidir, arka planda çalışmaya başlayacaktır; size zaman kazandıracak ve başka bir işleme başlayabileceksiniz. Arka planda çalışan işlemleri listelemek için 'jobs' komutunu kullanın.' Arka planda çalışan tüm işlemleri gösterecek.

Örneğin, yükseltme Linux'ta uzun bir süreçtir. Çok fazla zaman alıyor ve sistem yükseltilirken başka şeyler yapmak istiyorsanız arka plan komutunu kullanın.

[e-posta korumalı]:~$ sudo apt-get upgrade -y &

Arka planda çalışmaya başlayacak. Ve bu arada diğer programlarla etkileşime girebilirsiniz. Bu komutu yazarak arka planda kaç tane ve hangi işlemlerin çalıştığını kontrol edebilirsiniz.

[e-posta korumalı]:~$ işler
[1]+ Çalıştırılıyor sudo apt-get upgrade -y &

Ön plan süreçleri

Terminalde çalıştırdığımız tüm işlemler, varsayılan olarak ön plan işlemleri olarak çalışır. Onları ön plan ve arka plan komutlarıyla yönetebiliriz.

İşlerde listelenen herhangi bir arka plan işlemini, 'fg' komutunu ve ardından arka plan işlem numarasını yazarak ön plana getirebilirsiniz.

[e-posta korumalı]:~$ fg %1
sudo apt-get yükseltme -y

Ve bu işlemi arka plana almak istiyorsanız bu komutu yazın.

[e-posta korumalı]:~$ bg %1

ps komutu ile süreçleri listeleme ve yönetme

ps komutuyla listeleme işlemi, terminalde çalışan işlemleri görüntülemenin en eski yollarından biridir. Hangi işlemlerin çalıştığını ve ne kadar sistem kaynağı kullandıklarını ve bunları kimin çalıştırdığını listelemek için ps komutunu yazın.

[e-posta korumalı]:~$ ps u
KULLANICI PID %CPU %MEM VSZ RSS TTY STAT BAŞLANGIÇ ZAMANI KOMUTU
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl+ 13:07 0:00 kabuk
Jim 1564 5.2 0.9 881840 78704 tty2 Sl+ 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 puan/0 Ss 13:08 0:00 bash
15604 0.0 0.0 11836 3412 puan/0 R+ 17:19 0:00 ps u
… kırpmak…

Kullanıcı sütunu, yukarıdaki tabloda kullanıcı adını gösterir ve PID, işlem kimliğini gösterir. Kill sinyalini bir işleme göndermek veya öldürmek için PID'yi kullanabilirsiniz. %CPU, CPU yüzde işlemcisini ve %MEM rastgele erişimli bellek kullanımını gösterir. Bir işlemi öldürmek için şunu yazın.

[e-posta korumalı]:~$ kill [işlem kimliği (PID)]

veya

[e-posta korumalı]:~$ kill -9 [işlem kimliği (PID)]

Çalışan tüm işlemleri görmek için ps aux komutunu kullanın ve sırayla görmek için bir boru ekleyin.

[e-posta korumalı]:~$ ps yardımcı | Daha az

Sütunları yeniden düzenlemek istiyorsanız, bir bayrak ekleyerek yapabilirsiniz -e tüm süreçleri listelemek ve ps komutundaki anahtar kelimelerle sütunları belirtmek için.

[e-posta korumalı]:~$ps -eo pid,user,uid,%cpu,%mem,vsz,rss,comm
PID KULLANICI UID %CPU %MEM VSZ RSS KOMUT
1 kök 0 0.1 0.1 167848 11684 sistemli
3032 jim 1000 16.5 4.7 21744776 386524 krom
… kırpmak…

ps komutu için seçenekler.

u seçeneği, kullanıcılar tarafından işlemlerin listelenmesi için kullanılır.

[e-posta korumalı]:~$ ps u

f seçeneği tam listeyi görüntülemek için kullanılır.

[e-posta korumalı]:~$ ps f

x seçeneği, işlemle ilgili bilgileri terminal olmadan görüntülemek için kullanılır.

[e-posta korumalı]:~$ ps x

e seçeneği genişletilmiş bilgileri görüntülemek için kullanılır.

[e-posta korumalı]:~$ ps e

terminal ile tüm işlemleri listelemek için bir seçenek kullanılır.

[e-posta korumalı]:~$ ps a

v seçeneği sanal bellek biçimini görüntülemek için kullanılır.

[e-posta korumalı]:~$ ps v

ps komutu için bayraklar.

-e flag sistemdeki her işlemi görmek için kullanılır.

[e-posta korumalı]:~$ ps -e

-u bayrağı, root olarak çalışan işlemleri görmek için kullanılır.

[e-posta korumalı]:~$ ps -u

-f bayrağı, işlemlerin tam listesi için kullanılır.

[e-posta korumalı]:~$ ps -f

-o bayrak, istenen sütundaki işlemleri listelemek için kullanılır.

[e-posta korumalı]:~$ ps -o
ağaç

pstree, süreçleri listelemek için başka bir komuttur; çıktıyı bir ağaç biçiminde gösterir.

[e-posta korumalı]:~$ pstree

pstree komutu için seçenekler

-n işlemleri PID'ye göre sıralamak için kullanılır.

[e-posta korumalı]:~$ pstree -n

-H süreçleri vurgulamak için kullanılır.

[e-posta korumalı]:~$ pstree -H [PID]
[e-posta korumalı]:~$ pstree -H 6457

-bir komut satırı argümanları dahil çıktıyı göstermek için kullanılır.

[e-posta korumalı]:~$ pstree -a

-g işlemleri grup kimliğine göre göstermek için kullanılır.

[e-posta korumalı]:~$ pstree -g

-s ağaç veya belirli bir işlemin ekimi için kullanılır.

[e-posta korumalı]:~$ pstree -s [PID]
[e-posta korumalı]:~$ pstree -s 6457

[Kullanıcı adı] bir kullanıcının sahip olduğu süreçleri göstermek için kullanılır.

[e-posta korumalı]:~$ pstree [kullanıcıAdı]
[e-posta korumalı]:~$ pstree jim
pgrep

pgrep komutu ile belirli kriterlere göre çalışan bir işlem bulabilirsiniz. Kullanıcı adı veya diğer özellikleri bulmak için işlemin tam adını veya kısaltmasını kullanabilirsiniz. pgrep komutu aşağıdaki kalıbı takip eder.

[e-posta korumalı]:~$ Pgrep [seçenek] [desen]
[e-posta korumalı]:~$ pgrep -u jim chrome
pgrep komutu için seçenekler

-ben büyük/küçük harfe duyarsız arama yapmak için kullanılır

[e-posta korumalı]:~$ Pgrep -i firefox

-d çıktıyı sınırlamak için kullanılır

[e-posta korumalı]:~$ Pgrep -u jim -d:

-sen bir kullanıcının sahip olduğu süreci bulmak için kullanılır

[e-posta korumalı]:~$ Pgrep -u jim

-bir komutlarının yanında süreçleri listelemek için kullanılır

[e-posta korumalı]:~$ Pgrep -u jim -a

-c eşleşen işlemlerin sayısını göstermek için kullanılır

[e-posta korumalı]:~$ Pgrep -c -u jim

-ben süreçleri ve adlarını listelemek için kullanılır

[e-posta korumalı]:~$ Pgrep -u jim -l
pkill

pkill komutu ile belirli kriterlere göre çalışan bir işleme sinyal gönderebilirsiniz. Kullanıcı adı veya diğer özellikleri bulmak için işlemin tam adını veya kısaltmasını kullanabilirsiniz. pgrep komutu aşağıdaki kalıbı takip eder.

[e-posta korumalı]:~$ Pkill [Seçenekler] [Desenler]
[e-posta korumalı]:~$ Pkill -9 krom
pkill komutu için seçenekler

-sinyal e sinyali göndermek için kullanılır.g. SIGKILL, SIGTERM, vb.

[e-posta korumalı]:~$ Pkill --signal SIGTERM vscode

-HUP bir işlemi yeniden yüklemek için kullanılır

[e-posta korumalı]:~$ Pkill -HUP syslogd

-f tam komut satırına dayalı işlemleri öldürmek için kullanılır.

[e-posta korumalı]:~$ Pkill -f “ping 7.7.7.7”

-sen bir kullanıcının sahip olduğu tüm süreçleri öldürmek için kullanılır.

[e-posta korumalı]:~$ Pkill -u jim

-ben işlemin pkill tarafından büyük/küçük harfe duyarsız olarak öldürülmesi için kullanılır.

[e-posta korumalı]:~$ Pkill -i firefox

-9 öldürme sinyali göndermek için kullanılır.

[e-posta korumalı]:~$ Pkill -9 krom

-15 bir sonlandırma sinyali göndermek için kullanılır.

[e-posta korumalı]:~$ Pkill -15 vlc
lsof (Açık Dosyaların Listesi)

Bu komut satırı yardımcı programı, birkaç işlem tarafından açılan dosyaları listelemek için kullanılır. Ve bildiğimiz gibi, tüm UNIX/Linux sistemleri her şeyi bir dosya olarak tanır, bu nedenle tüm açık dosyaları listelemek için lsof komutunu kullanmak uygundur.

[e-posta korumalı]:~$ lsof

Yukarıdaki lsof komutu tablosunda, FD dosya açıklamasını temsil eder, cwd geçerli çalışma dizinini temsil eder, txt metin dosyası anlamına gelir, mem bellek eşlemeli dosyalar anlamına gelir, mmap bellek eşlemeli aygıtlar anlamına gelir, REG normal bir dosyayı temsil eder, DIR Dizin'i temsil eder, rtd kök dizin anlamına gelir. lsof komutuyla kullanabileceğiniz başka seçenekler de var.

lsof komutu için seçenekler.

-c açık dosyaların işlem adlarına göre listelenmesi için kullanılır.

[e-posta korumalı]:~$ lsof -c krom

-sen bir kullanıcı tarafından açık dosyaların listelenmesi için kullanılır.

[e-posta korumalı]:~$ lsof -u jim

-ben bir bağlantı noktasında yürütülen işlemlerin listelenmesi için kullanılır.

[e-posta korumalı]:~$ lsof -i

+D bir dizin altındaki açık dosyaların listelenmesi için kullanılır.

[e-posta korumalı]:~$ lsof +D /home/

-p bir işlem tarafından açık dosyaların listelenmesi için kullanılır.

[e-posta korumalı]:~$ lsof -p 1342

Üst Komutla İşlemi Listeleme ve Yönetme

top komutuyla, çalışan sistem işlemlerinin gerçek zamanlı bir görünümünü görüntüleyebilirsiniz. CPU kullanımına bağlı olarak işlemleri görüntüler. Sütunu kendinize göre sıralayabilirsiniz. top komutu ayrıca, sistemin ne kadar süredir çalıştığı veya sisteme kaç kullanıcının bağlı olduğu ve kaç işlemin çalıştığı, ne kadar CPU ve RAM kullanıldığı ve her birinin bir listesi gibi sisteminiz hakkında bazı bilgiler sağlar. süreç.

Çalışan işlemleri listelemek için top komutunu yazın.

[e-posta korumalı]:~$ üst
Görevler: Toplam 291, 1 koşu, 290 uyku, 0 durdu, 0 zombi
%Cpu(lar) : 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0 merhaba, 0.0si, 0.0
MiB Bellek: 7880.6 toplam, 1259.9 ücretsiz, 3176 kullanılmış, 3444.4 güçlendirme/önbellek
MiB Takas: 2048.0 toplam, 2048.0 ücretsiz, 0.0 kullanılmış. 4091.8 boş
PID KULLANICI PR NI VIRT RES SHR S %CPU %MEM TIME+ KOMUT
3241 jim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 krom
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1:42.64 krom
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 krom
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 krom
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 krom
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 krom
1603 jim 20 0 825608 67532 40416 S 0.3 0.8 3:13.52
1756 jim 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 cüceler+
1898 jim 20 0 289096 29284 5668 S 0.3 0.4 1:06.28 füme
3027 jim 20 0 587580 14304 75960 S 0.3 1.8 9:43.59 krom
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 krom
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 krom
3441 jim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 krom
… .kırpmak… .

Ayrıca, çalışan işlemlerde değişiklik yapmak için top komutuyla bazı işlemler yapabilirsiniz; işte aşağıdaki liste.

Hangi işlemin daha fazla bellek veya CPU tükettiğine dikkat edin. Daha fazla bellek tüketen işlemler öldürülebilir ve daha fazla CPU tüketen işlemler, işlemciye daha az önem vermek için yenilenebilir.

En üstte bir işlemi öldür: Basın k ve öldürmek istediğiniz İşlem Kimliğini yazın. Sonra normal veya hemen öldürmek için 15 veya 9 yazın; ayrıca bir işlemi kill veya killall komutuyla da öldürebilirsiniz.

En üstte bir işlemi yenileyin: Basın r ve yenilenmesini istediğiniz işlemin PID'sini yazın. Sizden işlemin PID'sini ve ardından bu işleme vermek istediğiniz niceleme değerini -19 ile 20 arasında (-19 en yüksek, 20 en düşük önem anlamına gelir) yazmanızı isteyecektir.

System Monitor ile Süreçleri Listeleme ve Yönetme

Linux, çalışan işlemleri daha dinamik bir şekilde göstermek için bir sistem monitörü gnome'una sahiptir. Sistem monitörünü başlatmak için windows tuşuna basın ve sistem monitörünü yazın, simgesine tıklayın ve sütunlarda işlemleri görebilirsiniz. Onlara sağ tıklayarak işlemi sonlandırabilir, durdurabilir veya sonlandırabilirsiniz.

Çalışan işlemler, kullanıcı hesaplarıyla alfabetik sırayla görüntülenir. İşlemleri CPU, Bellek vb. herhangi bir alan başlığına göre sıralayabilirsiniz., sadece üzerlerine tıklayın ve sıralanacaklar; örneğin, hangi işlemin en fazla CPU gücünü tükettiğini görmek için CPU'ya tıklayın. İşlemleri yönetmek için üzerlerine sağ tıklayın ve işlemle yapmak istediğiniz seçeneği seçin. Süreci yönetmek için aşağıdaki seçenekleri seçin.

Kill ve killall ile bir işlemi öldürmek

kill ve killall komutu çalışan bir işlemi öldürmek/sonlandırmak için kullanılır. Bu komutlar ayrıca, bir işleme devam etmesini, sonlandırmasını veya yapılandırma dosyalarını yeniden okumasını söylemek gibi, çalışan bir işleme geçerli bir sinyal göndermek için de kullanılabilir. Sinyaller, sayılarla veya adla her iki şekilde de yazılabilir. Aşağıdakiler yaygın olarak kullanılan bazı sinyallerdir.

Sinyal Numarası Açıklama

SIGHUP 1 Kontrol terminalinde kapanma sinyalini algılar.
SIGINT 2 Klavyeden yorumlanır.
SIGQUIT 3 Klavyeden çıkın.
SIGILL 4 Yasadışı talimatlar.
SIGTRAP 5 Trape izlemek için kullanılır.
SIGABRT 6, abort(3)'ten gelen sinyali iptal etmek için kullanılır.
SIGKILL 9 Bir öldürme sinyali göndermek için kullanılır.
SIGTERM 15 Bir sonlandırma sinyali göndermek için kullanılır.
SIGCONT 19,18,25 Durdurulduğunda bir işlemi devam ettirmek için kullanılır.
SIGSTOP 17,19,23 Durdurma işlemleri için kullanılır.

Farklı Unix/Linux işletim sistemlerinde farklı SIGCONT ve SIGSTOP değerleri kullanılır. Man 7 sinyal terminali tipi sinyaller hakkında detaylı bilgi için.

PID ile İşleme Sinyali Göndermek İçin Kill Komutunu Kullanma.

Bir öldürme sinyali göndermek istediğiniz işlemi not edin. İşlem kimliğini (PID) ps veya top komutuyla bulabilirsiniz.

PID KULLANICI PR NI VIRT RES SHR S %CPU %MEM TIME+ KOMUT
7780 jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 üst

En iyi süreç tüketiyor 33.CPU'nun %3'ü. CPU kullanımından tasarruf etmek için bu işlemi sonlandırmak istiyorsanız, bu işlemi kill komutuyla sonlandırmanın bazı yolları şunlardır:.

[e-posta korumalı]:~$ öldür 7780
[e-posta korumalı]:~$ kill -15 7780 veya $ kill -SIGTERM 7780
[e-posta korumalı]:~$ kill -9 7780 veya $ kill -SIGKILL 7780

Bir İşleme Ada Göre Sinyal Göndermek İçin Killall Komutunu Kullanma.

killall komutuyla işlem kimliğini aramanız gerekmez; bir işleme, işlem kimliği yerine adıyla bir öldürme sinyali gönderebilirsiniz. Ayrıca dikkatli olmazsanız, istediğinizden daha fazla işlemi öldürebilir, e.g., "killall chrome", öldürmek istemedikleriniz de dahil olmak üzere tüm krom işlemlerini öldürür. Bazen aynı adı taşıyan süreçleri öldürmek yararlıdır.

Kill komutu gibi, killall komutunda da sinyalleri ada göre veya numaraya göre yazabilirsiniz. çalışan herhangi bir işlemi killall komutuyla sonlandırın; sadece adını ve göndermek istediğiniz sinyali yazmanız yeterli. e.g., killall komutunu kullanarak firefox'a kill sinyali gönderip aşağıdaki komutu yazın.

[e-posta korumalı]:~$ killall -9 firefox

veya

[e-posta korumalı]:~$ killall SIGKILL kromu

Nice ve renice ile işlem önceliğini değiştirme

Linux sisteminizdeki her işlemin mükemmel bir değeri vardır ve -19 ile 20 arasındadır. Hangi işlemin sistemde daha fazla CPU erişimi sağlayacağına karar verdi. Nice değeri ne kadar düşükse, bir işlemin CPU işlemine o kadar fazla erişimi vardır. -16 Nice değerlerinin CPU'ya 18 Nice değerinden daha fazla erişimi var gibi. Yalnızca kök ayrıcalıklarına sahip bir kullanıcı negatif bir nice değeri atayabilir. Normal bir kullanıcı sadece "nice" değerini 0 ile 19 arasında atayabilir. Normal bir kullanıcı yalnızca daha yüksek nice değerler atayabilir ve kendi süreçlerinde. Bir kök kullanıcı, herhangi bir işleme herhangi bir Nice değeri ayarlayabilir.

Nice değeri atayarak bir işleme CPU kullanımı için daha erişilebilir kılmak istiyorsanız, aşağıdaki komutu yazın.

[e-posta korumalı]:~$ güzel +3 krom

Ve süreci yenile

[e-posta korumalı]:~$ renice -n -6 3612

Sonuç

İşte Linux sisteminizi ps, top, lsof, pstree, pkilll, kill, killall, nice, renice, vb. ile yönetme rehberi. Bazı işlemler CPU ve RAM kullanımının çoğunu tüketir; bunların nasıl yönetileceğini bilmek, sistem hızınızı ve performansınızı artırır ve istediğiniz işlemleri daha verimli bir şekilde yürütmek için size daha iyi bir ortam sağlar.

Daha Önce Bir Linux Sürümü Olmayan Linux için HD Remastered Oyunlar
Birçok oyun geliştiricisi ve yayıncısı, franchise'ın ömrünü uzatmak için eski oyunların HD remaster'ı ile geliyor, lütfen modern donanımla uyumluluk i...
Linux Oyunlarını Otomatikleştirmek için AutoKey Nasıl Kullanılır?
AutoKey, Linux ve X11 için Python 3, GTK ve Qt'de programlanmış bir masaüstü otomasyon aracıdır. Komut dosyası oluşturma ve MAKRO işlevselliğini kulla...
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...