Zarządzanie procesem

Zarządzanie procesami w Ubuntu Linux

Zarządzanie procesami w Ubuntu Linux
Zarządzanie procesami w Linuksie jest ważnym tematem do opanowania i zrozumienia, ponieważ jest to wielozadaniowy system operacyjny, w którym wiele procesów trwa jednocześnie. Linux zapewnia wiele narzędzi do zarządzania procesami, takich jak tworzenie listy uruchomionych procesów, zabijanie procesów, monitorowanie użycia systemu itp. W systemie Linux każdy proces jest reprezentowany przez swój identyfikator procesu (PID). Istnieje kilka innych atrybutów procesu, takich jak identyfikator użytkownika i identyfikator grupy, jeśli użytkownik lub grupa uruchamia proces. Czasami musisz zabić lub wejść w interakcję z procesem, więc powinieneś wiedzieć, jak zarządzać tymi procesami, aby Twój system działał płynnie. W systemie Linux procesami można zarządzać za pomocą poleceń takich jak ps, pstree, pgrep, pkill, lsof, top, nice, renice and kill, itp.

Procesy

Uruchamianie instancji programu nazywa się procesem. W systemie Linux identyfikator procesu (PID) służy do reprezentowania procesu, który jest charakterystyczny dla każdego procesu. Istnieją dwa rodzaje procesów,

Procesy w tle

Procesy w tle uruchamiają się w terminalu i działają samodzielnie. Jeśli uruchomisz proces w terminalu, jego wynik zostanie wyświetlony w oknie terminala i możesz z nim wchodzić w interakcję, ale jeśli nie musisz wchodzić w interakcje z procesem, możesz go uruchomić w tle. Jeśli chcesz uruchomić proces w tle, po prostu dodaj znak „&” na końcu polecenia, a zacznie on działać w tle; zaoszczędzi Ci to czasu i będziesz mógł rozpocząć kolejny proces another. Aby wyświetlić listę procesów działających w tle, użyj polecenia 'jobs.' Wyświetli wszystkie uruchomione procesy w tle.

Na przykład aktualizacja w Linuksie to długi proces. Zajmuje to zbyt dużo czasu, a jeśli chcesz zrobić inne rzeczy podczas aktualizacji systemu, użyj polecenia w tle.

[ochrona poczty e-mail]:~$ sudo apt-get upgrade -y &

Zacznie działać w tle. W międzyczasie możesz wchodzić w interakcje z innymi programami. Możesz sprawdzić, ile i które procesy działają w tle, wpisując to polecenie.

[ochrona poczty e-mail]:~$ pracy
[1]+ Uruchamianie aktualizacji sudo apt-get -y &

Procesy na pierwszym planie

Wszystkie procesy, które uruchamiamy w terminalu są domyślnie uruchamiane jako procesy pierwszoplanowe. Możemy nimi zarządzać za pomocą poleceń pierwszoplanowych i drugoplanowych.

Możesz przenieść dowolny proces w tle wymieniony w zadaniach na pierwszy plan, wpisując polecenie „fg”, a następnie numer procesu w tle.

[ochrona poczty e-mail]:~$ fg %1
sudo apt-get upgrade -y

A jeśli chcesz przenieść ten proces w tło, wpisz to polecenie.

[email chroniony]:~$ bg %1

Wyświetlanie i zarządzanie procesami za pomocą polecenia ps

Proces listowania za pomocą polecenia ps jest jednym z najstarszych sposobów przeglądania uruchomionych procesów terminala. Wpisz polecenie ps, aby wyświetlić listę uruchomionych procesów i zasobów systemowych, których używają oraz kto je uruchamia running.

[chroniony adres e-mail]: ~ $ ps u
PID UŻYTKOWNIKA %CPU %MEM VSZ RSS TTY STAT CZAS STARTU POLECENIE COM
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl+ 13:07 0:00 powłoka
Jim 1564 5.2 0.9 881840 78704 tty2 Sl+ 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 pkt/0 Ss 13:08 0:00 bash
Jim 15604 0.0 0.0 11836 3412 pkt/0 R+ 17:19 0:00 ps u
… ciach…

Kolumna użytkownika pokazuje nazwę użytkownika w powyższej tabeli, a PID pokazuje identyfikator procesu. Możesz użyć PID, aby zabić lub wysłać sygnał kill do procesu. %CPU pokazuje procent procesora procesora, a %MEM pokazuje użycie pamięci o dostępie swobodnym. Aby zabić proces, wpisz.

[email chroniony]:~$ kill [ identyfikator procesu (PID) ]

lub

[email chroniony]:~$ kill -9 [ identyfikator procesu (PID) ]

Użyj polecenia ps aux, aby zobaczyć wszystkie uruchomione procesy i dodaj potok, aby zobaczyć go w kolejności.

[email chroniony]:~$ ps aux | mniej

Jeśli chcesz zmienić kolejność kolumn, możesz to zrobić, dodając flagę -mi za wymienienie wszystkich procesów i -o do wskazywania kolumn za pomocą słów kluczowych w poleceniu ps.

[ochrona poczty e-mail]:~$ps -eo pid,użytkownik,uid,%cpu,%mem,vsz,rss,comm
PID UID UŻYTKOWNIKA %CPU %MEM VSZ POLECENIE RSS
1 pierwiastek 0 0.1 0.1 167848 11684 systemowy
3032 wysięgnik 1000 16.5 4.7 21744776 386524 chrom
… ciach…

Opcje polecenia ps.

Opcja u służy do wylistowania procesów przez użytkowników.

[chroniony adres e-mail]: ~ $ ps u

Opcja f służy do wyświetlania pełnego wykazu.

[ochrona poczty e-mail]:~$ ps f

Opcja x służy do wyświetlania informacji o procesie bez terminala.

[ochrona poczty e-mail]:~$ ps x

Opcja służy do wyświetlania rozszerzonych informacji.

[email chroniony]:~$ ps e

opcja służy do wylistowania wszystkich procesów z terminalem.

[chroniony adres e-mail]: ~ $ ps a

Opcja v służy do wyświetlania formatu pamięci wirtualnej.

[email chroniony]:~$ ps v

Flagi dla polecenia ps.

-Flaga e jest używana do zobaczenia każdego procesu w systemie.

[email chroniony]:~$ ps -e

-Flaga u jest używana, aby zobaczyć procesy działające jako root.

[email chroniony]:~$ ps -u

-flaga f jest używana do pełnej listy procesów.

[email chroniony]:~$ ps -f

-o flaga służy do wylistowania procesów w żądanej kolumnie.

[email chroniony]:~$ ps -o
pstree

pstree to kolejna komenda wyświetlająca listę procesów; pokazuje dane wyjściowe w formacie drzewa.

[email chroniony]:~$ pstree

Opcje polecenia pstree

-nie służy do sortowania procesów według PID.

[email chroniony]:~$ pstree -n

-H służy do podświetlania procesów.

[email chroniony]:~$ pstree -H [PID]
[chroniony adres e-mail]:~$ pstree -H 6457

-za służy do wyświetlania danych wyjściowych, w tym argumentów wiersza poleceń.

[email chroniony]:~$ pstree -a

-sol służy do pokazywania procesów według identyfikatora grupy.

[email chroniony]:~$ pstree -g

-s służy do siewu drzewa lub określonego procesu.

[email chroniony]:~$ pstree -s [PID]
[chroniony e-mail]:~$ pstree -s 6457

[Nazwa Użytkownika] służy do pokazywania procesów należących do użytkownika.

[email chroniony]:~$ pstree [nazwa użytkownika]
[chroniony e-mail]:~$ pstree jim
pgrep

Za pomocą polecenia pgrep możesz znaleźć działający proces w oparciu o określone kryteria. Możesz użyć pełnej nazwy lub skrótu procesu, aby znaleźć lub według nazwy użytkownika lub innych atrybutów. polecenie pgrep postępuje zgodnie z następującym wzorcem.

[email chroniony]:~$ Pgrep [opcja] [wzór]
[email chroniony]:~$ pgrep -u jim chrome
Opcje polecenia pgrep

-ja służy do wyszukiwania bez uwzględniania wielkości liter

[email chroniony]:~$ Pgrep -i firefox

-re służy do rozgraniczenia wyjścia

[email chroniony]:~$ Pgrep -u jim -d:

-ty służy do wyszukiwania procesu należącego do użytkownika

[email chroniony]:~$ Pgrep -u jim

-za służy do wyświetlania procesów wraz z ich poleceniami

[email chroniony]:~$ Pgrep -u jim -a

-do służy do pokazywania liczby dopasowanych procesów

[email chroniony]:~$ Pgrep -c -u jim

-ja służy do wyliczania procesów i ich nazwy

[chroniony adres e-mail]:~$ Pgrep -u jim -l
zabić

Za pomocą polecenia pkill możesz wysłać sygnał do działającego procesu w oparciu o określone kryteria. Możesz użyć pełnej nazwy lub skrótu procesu, aby znaleźć lub według nazwy użytkownika lub innych atrybutów. polecenie pgrep postępuje zgodnie z następującym wzorcem.

[ochrona poczty e-mail]:~$ Pkill [Opcje] [Wzory]
[chroniony e-mail]:~$ Pkill -9 chrom
Opcje polecenia pkill

-sygnał służy do wysyłania sygnału e.sol. SIGKILL, SIGTERM itp.

[email chroniony]:~$ Pkill --sygnał SIGTERM vscode

-HUP służy do przeładowania procesu

[email chroniony]:~$ Pkill -HUP syslogd

-fa służy do zabijania procesów opartych na pełnej linii poleceń.

[email chroniony]:~$ Pkill -f “ping 7.7.7.7”

-ty służy do zabijania wszystkich procesów należących do użytkownika.

[email chroniony]:~$ Pkill -u jim

-ja służy do niewrażliwego na wielkość liter zabijania procesu przez pkill.

[email chroniony]:~$ Pkill -i firefox

-9 służy do wysyłania sygnału „kill”.

[chroniony e-mail]:~$ Pkill -9 chrom

-15 służy do wysyłania sygnału zakończenia.

[chroniony adres e-mail]: ~ $ Pkill -15 vlc
lsof (lista otwartych plików)

To narzędzie wiersza poleceń służy do wyświetlania plików otwieranych przez kilka procesów. A jak wiemy, wszystkie systemy UNIX/Linux rozpoznają wszystko jako plik, więc wygodnie jest użyć polecenia lsof, aby wyświetlić wszystkie otwarte pliki.

[chroniony e-mail]:~$ lsof

W powyższej tabeli polecenia lsof FD oznacza opis pliku, cwd oznacza bieżący katalog roboczy, txt oznacza plik tekstowy, mem oznacza pliki mapowane w pamięci, mmap oznacza urządzenia mapowane w pamięci, REG oznacza zwykły plik, DIR oznacza katalog, rtd oznacza katalog główny. Istnieją inne opcje, których możesz użyć z poleceniem lsof.

Opcje polecenia lsof.

-do służy do wyświetlania listy otwartych plików według nazwy procesu.

[ochrona poczty e-mail]:~$ lsof -c chrome

-ty służy do wyświetlania listy otwartych plików przez użytkownika.

[email chroniony]:~$ lsof -u jim

-ja służy do listowania procesów wykonywanych na porcie.

[email chroniony]:~$ lsof -i

+re służy do wyświetlania listy otwartych plików w katalogu.

[ochrona poczty e-mail]:~$ lsof +D /home/

-p służy do wylistowania otwartych plików przez proces.

[ochrona poczty e-mail]:~$ lsof -p 1342

Tworzenie listy i zarządzanie procesem za pomocą top Command

Za pomocą polecenia top możesz wyświetlić widok w czasie rzeczywistym uruchomionych procesów systemowych. Wyświetla procesy w zależności od wykorzystania procesora. Możesz posortować kolumnę według siebie. Polecenie top dostarcza również pewnych informacji o systemie, takich jak czas działania systemu lub liczba użytkowników podłączonych do systemu i liczba uruchomionych procesów, ilość używanego procesora i pamięci RAM oraz lista każdego z nich proces.

Wpisz polecenie top, aby wyświetlić listę uruchomionych procesów.

[ochrona poczty e-mail]:~$ góra
Zadania: łącznie 291, 1 uruchomiony, 290 uśpiony, 0 zatrzymany, 0 zombie
% procesorów: 2.3 nas, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0Cześć, 0.0si, 0.0st
Pamięć MiB: 7880.6 łącznie, 1259.9 darmowych, 3176 używanych, 3444.4 premie/skrzynka
Zamiana MiB: 2048.0 łącznie, 2048.0 za darmo, 0.0 używane. 4091.8 dost
PID UŻYTKOWNIK PR NI VIRT RES SHR S %CPU %MEM CZAS+ POLECENIE
3241 dżim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 chrom
3327 wysięgnik 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 chrom
2920 wysięgnik 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 chrom
3423 wysięgnik 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 chrom
3030 wysięgnik 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 chrom
3937 wysięgnik 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 chrom
1603 wysięgnik 20 0 825608 67532 40416 S 0.3 0.8 3:13.52 Xorg
1756 wysięgnik 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 gnomów+
1898 wysięgnik 20 0 289096 29284 5668 S 0.3 0.4 1:06.28
3027 wysięgnik 20 0 587580 14304 75960 S 0.3 1.8 9:43.59 chrom
3388 wysięgnik 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 chrom
3409 wysięg 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 chrom
3441 dżim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 chrom
… .fantastyczna okazja… .

Możesz także wykonać pewne akcje za pomocą polecenia top, aby wprowadzić zmiany w uruchomionych procesach; oto lista poniżej.

Zwróć uwagę, który proces zużywa więcej pamięci lub procesora. Te procesy, które zużywają więcej pamięci, mogą zostać zabite, a te procesy, które zużywają więcej procesora, można zrenicować, aby nadać im mniejsze znaczenie dla procesora.

Zabij proces na górze: naciśnij k i wpisz identyfikator procesu, który chcesz zabić. Następnie wpisz 15 lub 9, aby zabić normalnie lub natychmiast; możesz także zabić proces za pomocą polecenia kill lub killall.

Renice proces na górze: naciśnij r i napisz PID procesu, który chcesz odnowić. Zostaniesz poproszony o wpisanie PID procesu, a następnie wartość nicing, którą chcesz nadać temu procesowi, od -19 do 20 (-19 oznacza najwyższą ważność, a 20 oznacza najmniejszą ważność).

Tworzenie list i zarządzanie procesami za pomocą Monitora systemu

Linux ma gnome monitora systemu, aby bardziej dynamicznie wyświetlać uruchomione procesy. Aby uruchomić monitor systemu, naciśnij klawisz Windows i wpisz monitor systemu, kliknij jego ikonę, a zobaczysz procesy w kolumnach. Klikając je prawym przyciskiem myszy, możesz zabić, zatrzymać lub odnowić proces.

Uruchomione procesy są wyświetlane z kontami użytkowników w kolejności alfabetycznej. Możesz sortować procesy według dowolnych nagłówków pól, takich jak procesor, pamięć itp., po prostu kliknij na nie, a zostaną posortowane; na przykład kliknij procesor, aby zobaczyć, który proces zużywa najwięcej mocy procesora. Aby zarządzać procesami, kliknij je prawym przyciskiem myszy i wybierz opcję, którą chcesz zrobić z procesem. Aby zarządzać procesem wybierz następujące opcje.

Zabijanie procesu za pomocą kill i killall

kill, a polecenie killall służy do zabijania/kończenia uruchomionego procesu. Polecenia te mogą być również używane do wysyłania prawidłowego sygnału do działającego procesu, na przykład nakazując procesowi kontynuowanie, zakończenie lub ponowne odczytanie plików konfiguracyjnych itp. Sygnały mogą być zapisywane na dwa sposoby za pomocą cyfr lub nazwy. Poniżej przedstawiono niektóre powszechnie używane sygnały.

Numer sygnału Opis

SIGHUP 1 Wykrywa sygnał rozłączenia na terminalu sterującym.
SIGINT 2 interpretowany z klawiatury.
SIGQUIT 3 Wyjdź z klawiatury.
SIGILL 4 Niedozwolone instrukcje.
SIGTRAP 5 Służy do śledzenia pułapki.
SIGABRT 6 służy do przerwania sygnału z przerwania(3).
SIGKILL 9 Służy do wysyłania sygnału „zabicia”.
SIGTERM 15 Służy do wysyłania sygnału zakończenia.
SIGCONT 19,18,25 Służy do kontynuowania procesu w przypadku zatrzymania.
SIGSTOP 17,19,23 Służy do zatrzymywania procesów.

Różne wartości SIGCONT i SIGSTOP są używane w różnych systemach operacyjnych Unix/Linux. Aby uzyskać szczegółowe informacje na temat sygnałów typu man 7 terminal sygnałowy.

Używanie polecenia kill do wysyłania sygnału do przetwarzania przez PID.

Zwróć uwagę na proces, do którego chcesz wysłać sygnał zabicia. Identyfikator procesu (PID) można znaleźć za pomocą polecenia ps lub top.

PID UŻYTKOWNIK PR NI VIRT RES SHR S %CPU %MEM CZAS+ POLECENIE
7780 wysięgnik 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 góra

Najwyższy proces pochłania 33.3% procesora. Jeśli chcesz zakończyć ten proces, aby zaoszczędzić zużycie procesora, oto kilka sposobów na zakończenie tego procesu za pomocą polecenia kill.

[chroniony adres e-mail]:~$ zabij 7780
[email chroniony]:~$ kill -15 7780 lub $ kill -SIGTERM 7780
[email chroniony]:~$ kill -9 7780 lub $ kill -SIGKILL 7780

Używanie polecenia killall do wysyłania sygnałów do procesu według nazwy.

Dzięki poleceniu killall nie musisz szukać identyfikatora procesu; możesz wysłać sygnał „zabicia” do procesu według nazwy, a nie identyfikatora procesu. Może również zabić więcej procesów niż chcesz, jeśli nie będziesz ostrożny, np.sol., „killall chrome” zabije wszystkie procesy chrome, w tym te, których nie chcesz zabijać. Czasami warto zabić procesy o tej samej nazwie.

Podobnie jak w przypadku polecenia kill, możesz wpisywać sygnały według nazwy lub numeru w poleceniu killall. Zabij dowolny uruchomiony proces za pomocą polecenia killall; wystarczy wpisać jego nazwę i sygnał, który chcesz wysłać. mi.sol., wyślij firefox procesu sygnału kill za pomocą polecenia killall, napisz poniższe polecenie.

[chroniony adres e-mail]:~$ killall -9 firefox

lub

[ochrona poczty e-mail]:~$ killall SIGKILL chrome

Zmiana priorytetu procesu na nice and renice

Każdy proces w twoim systemie Linux ma doskonałą wartość i wynosi od -19 do 20. Zdecydował, który proces uzyska większy dostęp do procesora w systemie. Im niższa wartość nice, tym większy dostęp proces ma do procesu procesora. Na przykład -16 ładnych wartości ma większy dostęp do procesora niż 18 ładnych wartości. Tylko użytkownik z uprawnieniami roota może przypisać ujemną wartość nice. Zwykły użytkownik może przypisać tylko wartość „miły” od 0 do 19 to. Zwykły użytkownik może przypisywać tylko wyższe wartości nice i na własnych procesach. Użytkownik root może ustawić dowolną wartość dla dowolnego procesu.

Jeśli chcesz, aby proces był bardziej dostępny dla użycia procesora, przypisując wartość nice, wpisz następujące polecenie:.

[chroniony e-mail]:~$ ładne +3 chrom

I ciesz się tym procesem

[chroniony adres e-mail]:~$ renice -n -6 3612

Wniosek

Oto przewodnik po zarządzaniu systemem Linux za pomocą ps, top, lsof, pstree, pkilll, kill, killall, nice, renice itp. Niektóre procesy zużywają większość procesora i pamięci RAM; wiedza, jak nimi zarządzać, zwiększa szybkość i wydajność systemu oraz zapewnia lepsze środowisko do bardziej wydajnego uruchamiania dowolnych procesów.

Gry Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Ten artykuł zawiera listę darmowych i otwartych silników gier, których można używać do tworzenia gier 2D i 3D w systemie Linux. Istnieje wiele takich ...
Gry Samouczek Shadow of the Tomb Raider dla systemu Linux
Samouczek Shadow of the Tomb Raider dla systemu Linux
Shadow of the Tomb Raider to dwunasty dodatek do serii Tomb Raider - przygodowej serii gier akcji stworzonej przez Eidos Montreal. Gra została dość do...
Gry Jak zwiększyć FPS w Linuksie??
Jak zwiększyć FPS w Linuksie??
FPS oznacza Klatki na sekundę. Zadaniem FPS jest pomiar liczby klatek na sekundę podczas odtwarzania wideo lub wydajności gier. W prostych słowach lic...