Zarządzanie procesami w Ubuntu Linux

Zarządzanie procesami w Ubuntu Linux
Zarządzanie procesami w Linux jest ważnym tematem do nauki i zrozumienia, ponieważ jest to wielozadaniowy system operacyjny i ma wiele procesów w tym samym czasie. Linux zapewnia wiele narzędzi do zarządzania procesami, takimi jak listy procesów uruchamiania, zabijanie procesów, monitorowanie użycia systemu itp. W Linux każdy proces jest reprezentowany przez jego identyfikator procesu (PID). Istnieją inne atrybuty procesu, takie jak identyfikator użytkownika i identyfikator grupy, jeśli użytkownik lub grupa uruchomi proces. Czasami musisz zabić lub wchodzić w interakcje z procesem, więc powinieneś wiedzieć, jak zarządzać tymi procesami, aby system działał płynnie. W Linux procesom można zarządzać za pomocą poleceń takich PS, Pstree, Pgrep, Pkill, LSOF, TOP, Nice, Renice and Kill, itp.

Procesy

Uruchomienie instancji programu nazywa się procesem. W systemie Linux ID (PID) służy do przedstawienia procesu charakterystycznego dla każdego procesu. Istnieją dwa rodzaje procesów,

  • Procesy w tle
  • Procesy na pierwszym planie

Procesy w tle

Procesy w tle rozpoczynają się w terminalu i samodzielnie uruchamiają. Jeśli uruchomisz proces w terminalu, jego wyjście zostanie wyświetlone w oknie terminalu i możesz z nim wchodzić w interakcje, ale jeśli nie musisz wchodzić w interakcje z procesem, możesz uruchomić go w tle. Jeśli chcesz uruchomić proces w tle, po prostu dodaj znak „&” na końcu polecenia, a zacznie się uruchamiać w tle; Zaoszczędzi ci czas i będziesz mógł rozpocząć kolejny proces. Aby wymieniać procesy działające w tle, użyj zadań polecenia.„Wyświetli wszystkie uruchomione procesy w tle.

Na przykład aktualizacja jest długim procesem w Linux. To zajmuje zbyt dużo czasu, a jeśli chcesz robić inne rzeczy podczas aktualizacji systemu, użyj polecenia tła.

Ubuntu@ubuntu: ~ $ sudo apt -get aktualizację -y &

Zacznie działać w tle. I 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.

Ubuntu@ubuntu: ~ $ Jobs
[1]+ Uruchamianie aktualizacji sudo apt -get -y &

Procesy na pierwszym planie

Wszystkie procesy, które uruchamiamy w terminalu, są domyślnie uruchomione jako procesy na pierwszym planie. Możemy zarządzać nimi według poleceń na pierwszym planie i tła.

Możesz wprowadzić dowolny proces w tle wymieniony na zadaniach na pierwszym planie, wpisując polecenie „FG”, a następnie numer procesu tła.

Ubuntu@ubuntu: ~ $ fg %1
sudo apt -get aktualiza

A jeśli chcesz przenieść ten proces do typu tła to polecenie.

Ubuntu@ubuntu: ~ $ BG %1

Lista i zarządzanie procesami za pomocą polecenia PS

Proces aukcji z poleceniem PS jest jednym z najstarszych sposobów przeglądania procesów uruchomionych terminali. Wpisz polecenie PS, aby wymienić, które procesy są uruchomione i ile zasobów systemowych używają i kto je uruchamia.

ubuntu@ubuntu: ~ $ ps u
Użytkownik PID %CPU %MEM VSZ RSS TTY TTY Stat START TIME Command
Jim 1562 0.0 0.0 164356 6476 Tty2 SSL+ 13:07 0:00 Shell
Jim 1564 5.2 0.9 881840 78704 TTY2 SL+ 3:07 13:13 Dauth
Jim 2919 0.0 0.0 11328 4660 PTS/0 SS 13:08 0:00 Bash
Jim 15604 0.0 0.0 11836 3412 PTS/0 R+ 17:19 0:00 PS U
… Snip…

Kolumna użytkownika pokazuje nazwę użytkownika w powyższej tabeli, a PID pokazuje identyfikator procesu. Możesz użyć PID do zabicia lub wysłania sygnału zabójstwa do procesu. %CPU pokazuje procesor procentowy CPU, a %MEM pokazuje użycie pamięci losowego dostępu. Aby zabić proces, typ.

Ubuntu@ubuntu: ~ $ zabójcy [proces procesowy (PID)]

Lub

Ubuntu@ubuntu: ~ $ zabójcy -9 [proces procesowy (PID)]

Użyj polecenia PS aux, aby zobaczyć wszystkie uruchomione procesy i dodaj rurę, aby je zobaczyć w kolejności.

Ubuntu@ubuntu: ~ $ ps aux | mniej

Jeśli chcesz zmienić zmianę kolumn, możesz to zrobić, dodając flagę -mi do wymienienia wszystkich procesów i -o do wskazania kolumn według słów kluczowych w poleceniu PS.

Ubuntu@ubuntu: ~ $ ps -eo pid, użytkownik, uid,%procesor,%mem, vsz, rss, comms
Użytkownik PID UID %CPU %MEM VSZ RSS Command
1 root 0 0.1 0.1 167848 11684 Systemowane
3032 Jim 1000 16.5 4.7 21744776 386524 Chrome
… Snip…

Opcje polecenia PS.

Opcja u jest używana do wymienienia procesów przez użytkowników.

ubuntu@ubuntu: ~ $ ps u

Opcja F służy do wyświetlania pełnej listy.

Ubuntu@ubuntu: ~ $ ps f

Opcja X jest używana do wyświetlania informacji o procesie bez terminalu.

Ubuntu@ubuntu: ~ $ ps x

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

Ubuntu@ubuntu: ~ $ ps e

Opcja jest używana do wyświetlania wszystkich procesów za pomocą terminalu.

Ubuntu@ubuntu: ~ $ ps a

Opcja V służy do wyświetlania wirtualnego formatu pamięci.

Ubuntu@ubuntu: ~ $ ps v

Flagi dla polecenia PS.

-Flaga E służy do zobaczenia każdego procesu w systemie.

Ubuntu@ubuntu: ~ $ ps -e

-U flaga jest używana do postrzegania procesów działających jako root.

Ubuntu@ubuntu: ~ $ ps -u

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

Ubuntu@ubuntu: ~ $ ps -f

-o Flaga służy do wymienienia procesów w żądanej kolumnie.

Ubuntu@ubuntu: ~ $ ps -o
pstree

PSTREE to kolejne polecenie do wymienienia procesów; Pokazuje wyjście w formacie drzewa.

Ubuntu@ubuntu: ~ $ pstree

Opcje polecenia pstree

-N jest używany do sortowania procesów przez PID.

Ubuntu@ubuntu: ~ $ pstree -n

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

Ubuntu@ubuntu: ~ $ pstree -h [pid]
Ubuntu@ubuntu: ~ $ pstree -h 6457

-A jest używany do wyświetlania danych wyjściowych, w tym argumentów wiersza poleceń.

Ubuntu@ubuntu: ~ $ pstree -a

-G jest używany do pokazywania procesów według ID grupy.

Ubuntu@ubuntu: ~ $ pstree -g

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

Ubuntu@ubuntu: ~ $ pstree -s [pid]
Ubuntu@ubuntu: ~ $ pstree -s 6457

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

Ubuntu@ubuntu: ~ $ pstree [nazwa użytkownika]
Ubuntu@ubuntu: ~ $ pstree jim
pgrep

Za pomocą polecenia PGREP możesz znaleźć proces uruchomiony na podstawie określonych kryteriów. Możesz użyć pełnej nazwy lub skrótu procesu do znalezienia lub według nazwy użytkownika lub innych atrybutów. Polecenie PGREP jest zgodne z następującym wzorem.

Ubuntu@ubuntu: ~ $ pGrep [opcja] [wzór]
Ubuntu@ubuntu: ~ $ pGrep -u Jim Chrome
Opcje polecenia pGrep

-I jest używany do wyszukiwania niewrażliwych przypadków

Ubuntu@ubuntu: ~ $ pGrep -i Firefox

-D jest używany do rozgraniczenia wyjścia

Ubuntu@ubuntu: ~ $ pGrep -u Jim -d:

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

Ubuntu@ubuntu: ~ $ pGrep -u Jim

-A jest używany do listy procesów wraz z ich poleceniami

Ubuntu@ubuntu: ~ $ pgrep -u jim -a

-C jest używany do wyświetlania liczby dopasowania procesów

Ubuntu@ubuntu: ~ $ pgrep -c -u jim

-L jest używany do listy procesów i ich nazwy

Ubuntu@ubuntu: ~ $ pgrep -u jim -l
Pkill

Za pomocą polecenia PKILL możesz wysłać sygnał do procesu uruchomionego na podstawie określonych kryteriów. Możesz użyć pełnej nazwy lub skrótu procesu do znalezienia lub według nazwy użytkownika lub innych atrybutów. Polecenie PGREP jest zgodne z następującym wzorem.

Ubuntu@ubuntu: ~ $ pKill [opcje] [wzory]
Ubuntu@ubuntu: ~ $ pKill -9 Chrome
Opcje polecenia PKILL

-sygnał służy do wysyłania sygnału e.G. Sigkill, Sigterm itp.

Ubuntu@ubuntu: ~ $ pKill -Signal Sigterm vscode

-Hup służy do ponownego załadunku procesu

Ubuntu@ubuntu: ~ $ pKill -Hup syslogd

-F jest używany do zabijania procesów na podstawie pełnej linii poleceń.

Ubuntu@ubuntu: ~ $ pKill -f „ping 7.7.7.7 ”

-u jest używany do zabijania wszystkich procesów należących do użytkownika.

Ubuntu@ubuntu: ~ $ pKill -u Jim

-I jest używany do niewrażliwego na przypadki zabijania procesu przez Pkill.

Ubuntu@ubuntu: ~ $ pKill -i Firefox

-9 służy do wysyłania sygnału zabijania.

Ubuntu@ubuntu: ~ $ pKill -9 Chrome

-15 jest używany do wysyłania sygnału zakończenia.

Ubuntu@ubuntu: ~ $ PKILL -15 VLC
LSOF (lista otwartych plików)

To narzędzie wiersza poleceń jest używane do wymieniania plików otwartych przez kilka procesów. I jak wiemy, wszystkie systemy UNIX/Linux rozpoznają wszystko jako plik, więc wygodne jest użycie polecenia LSOF, aby wymienić wszystkie otwarte pliki.

Ubuntu@ubuntu: ~ $ lsof

W powyższej tabeli polecenia LSOF FD reprezentuje opis pliku, CWD reprezentuje bieżący katalog roboczy, TXT oznacza plik tekstowy, MEM oznacza pliki mapowane pamięcią, MMAP oznacza urządzenia mapowane pamięcią, Reg reprezentuje zwykły plik, DIR reprezentuje katalog, RTD oznacza katalog główny. Istnieją inne opcje, których możesz użyć z poleceniem LSOF.

Opcje polecenia LSOF.

-C jest używany do listy otwartych plików według nazwy procesu.

ubuntu@ubuntu: ~ $ lsof -c chrome

-u jest używany do listy otwartych plików przez użytkownika.

Ubuntu@ubuntu: ~ $ lsof -u Jim

-I jest używany do listy procesów wykonywania w porcie.

Ubuntu@ubuntu: ~ $ lsof -i

+D jest używany do listy otwartych plików w katalogu.

Ubuntu@ubuntu: ~ $ lsof +d /home /

-P jest używany do listy otwartych plików według procesu.

Ubuntu@ubuntu: ~ $ lsof -p 1342

Lista 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 użycia procesora. Możesz sortować kolumnę zgodnie z tobą. Polecenie najlepsze zawiera również informacje o twoim systemie, na przykład jak długo system jest uruchomiony lub ile użytkowników jest dołączonych do systemu i ile procesów uruchamia proces.

Wpisz górę polecenia, aby wymienić uruchomione procesy.

Ubuntu@ubuntu: ~ $ top
Zadania: 291 ogółem, 1 bieganie, 290 spanie, 0 zatrzymane, 0 zombie
%CPU: 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0HI, 0.0si, 0.0st
MEM MEM: 7880.6 ogółem, 1259.9 darmowych, 3176 używanych, 3444.4 buff/pamięć podręczna
MIB Swap: 2048.0 ogółem, 2048.0 za darmo, 0.0 używane. 4091.8 Dostępne MEM
Użytkownik PID Pr ni virt res sHR s %procesor %mem czas+ polecenie
3241 Jim 20 0 20.7G 33512 10082 s 1.7 4.2 0:54.24 Chrome
3327 Jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 Chrome
2920 Jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 Chrome
3423 Jim 20 0 4721584 198500 10106 s 1.0 2.5 0:49.00 Chrome
3030 Jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 Chrome
3937 Jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 Chrome
1603 Jim 20 0 825608 67532 40416 S 0.3 0.8 3:13.52 Xorg
1756 Jim 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 gnome-s+
1898 Jim 20 0 289096 29284 5668 s 0.3 0.4 1:06.28 Fusuma
3027 Jim 20 0 587580 14304 75960 s 0.3 1.8 9:43.59 Chrome
3388 Jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 Chrome
3409 Jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 Chrome
3441 Jim 20 0 16.5G 156396 89700 s 0.3 1.9 0:25.70 Chrome
… .fantastyczna okazja… .

Możesz także wykonać niektóre działania z najlepszym poleceniem, aby wprowadzić zmiany w uruchomionych procesach; Oto lista poniżej.

  • u Naciskając „U”, możesz wyświetlić proces uruchomiony przez określonego użytkownika.
  • M Naciskając „M”, możesz zorganizować według użytkowania pamięci RAM, a nie zużycie procesora.
  • P Naciskając „P”, możesz sortować według użytkowania procesora.
  • 1 Naciskając przełącznik „1” między użyciem procesorów, jeśli jest więcej niż jeden.
  • R Naciskając „R”, możesz dokonać odwrotnej sortowania wyjściowego.
  • H Naciskając „H”, możesz pójść, aby pomóc i nacisnąć dowolny klawisz, aby zwrócić.

Zauważ, który proces zużywa więcej pamięci lub procesora. Procesy, które zużywają więcej pamięci, mogą zostać zabite, a procesy zużywające więcej procesora mogą być zniszczone, aby dać im mniejszą wagę dla procesora.

Zabij proces na szczycie: Naciskać k i napisz identyfikator procesu, który chcesz zabić. Następnie typu 15 lub 9, aby zabić normalnie lub natychmiast; Możesz także zabić proces za pomocą komendy zabójstwa lub zabójstwa.

Renice Proces na górze: Naciskać R i napisz PID procesu, który chcesz być zniszczony. Poprosi cię o wpisanie PID procesu, a następnie wartości nazwy, którą chcesz nadać temu procesowi od -19 do 20 (-19 oznacza najwyższe znaczenie, a 20 oznacza najniższe znaczenie).

Lista i zarządzanie procesami z monitorem systemowym

Linux ma gnome monitorowania systemu, aby bardziej dynamicznie pokazać uruchomione procesy. Aby uruchomić monitor systemu, naciśnij klawisz Windows i wpisz monitor systemu, kliknij jego ikonę, a można zobaczyć procesy w kolumnach. Klikając ich prawym przyciskiem myszy, możesz zabić, zatrzymać lub złagodzić proces.

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

  • Nieruchomości- Pokaż inne ustawienia związane z procesem.
  • Mapy pamięci- Pokaż mapy pamięci systemowej, aby pokazać, które biblioteki i inne komponenty są używane w pamięci do procesu.
  • Otwórz plik- pokazuje, które pliki są otwarte przez proces.
  • Zmień priorytet- Wyświetl pasek boczny, z którego możesz przeżyć proces z opcjami od bardzo wysokiego do bardzo niskiego i niestandardowego.
  • Zatrzymywać się- Zatrzymuje proces, dopóki nie wybierzesz, aby kontynuować.
  • Kontynuować- ponownie uruchamia zatrzymany proces.
  • Zabić- Siła natychmiast zabija proces.

Zabijanie procesu zabójstwem i Killall

Zabij, a Killall Command służy do zabijania/zakończenia procesu działającego. Te polecenia mogą być również używane do wysyłania prawidłowego sygnału do uruchomionego procesu, na przykład poinformowanie procesu, aby kontynuować, zakończyć lub ponownie czytać pliki konfiguracyjne itp. Sygnały mogą być pisane na oba sposoby przez liczby lub według nazwy. Oto niektóre powszechnie używane sygnały.

Opis numeru sygnału

Wzdychanie 1 wykrywa sygnał rozciągania na kontrolowaniu terminalu.
Sigint 2 zinterpretowane z klawiatury.
SIGQUIT 3 REKT Z klawiatury.
Sigill 4 nielegalne instrukcje.
SIGTRAP 5 służy do śledzenia trape.
SIGABRT 6 jest używany do przerwania sygnału z przerwy (3).
Sigkill 9 służy do wysyłania sygnału zabijania.
SIGTERM 15 jest używany do wysyłania sygnału zakończenia.
SIGCONT 19,18,25 służy do kontynuowania procesu, jeśli zostanie zatrzymany.
Sigstop 17,19,23 jest używany 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 o sygnałach typu Man 7 Terminal sygnałowy.

Korzystanie z komendy Kill do wysyłania sygnału do przetworzenia przez PID.

Zwróć uwagę na proces, do którego chcesz wysłać sygnał zabójstwa. Można znaleźć identyfikator procesu (PID) według PS lub Top Command.

Użytkownik PID Pr ni virt res sHR s %procesor %mem czas+ polecenie
7780 Jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 TOP

Najlepszy proces zużywa 33.3% procesora. Jeśli chcesz zabić ten proces, aby zaoszczędzić użycie procesora, oto kilka sposobów na zakończenie tego procesu za pomocą polecenia Kill.

Ubuntu@ubuntu: ~ $ Kill 7780
Ubuntu@ubuntu: ~ $ zabójcy -15 7780 lub $ zabójstwo -sigterm 7780
Ubuntu@ubuntu: ~ $ zabójcy -9 7780 lub $ zabójcy -sigkill 7780

Korzystanie z polecenia Killall do wysyłania sygnałów do procesu według nazwy.

Dzięki komendzie Killall nie musisz szukać identyfikatora procesu; Możesz wysłać sygnał zabójstwa do procesu według nazwy, a nie identyfikator procesu. Może również zabić więcej procesów niż chcesz, jeśli nie jesteś ostrożny, e.G., „Killall Chrome” zabije wszystkie procesy Chrome, w tym te, których nie chcesz zabić. Czasami przydatne jest zabijanie procesów o tej samej nazwie.

Podobnie jak polecenie zabójcy, możesz wpisać sygnały według nazwy lub według numeru w poleceniu Killall. Zabij każdy proces uruchamiania za pomocą komendy Killall; Musisz tylko wpisać jego nazwę i sygnał, który chcesz wysłać. mi.G., Wyślij Firefox Process Signal Process za pomocą polecenia Killall, napisz poniższe polecenie.

Ubuntu@ubuntu: ~ $ Killall -9 Firefox

Lub

Ubuntu@ubuntu: ~ $ Killall Sigkill Chrome

Zmiana priorytetu procesu za pomocą Nicea i Renice

Każdy proces w systemie Linux ma doskonałą wartość i wynosi od -19 do 20. Zdecydował, który proces uzyskałby większy dostęp do procesora w systemie. Im niższa wartość NICE, tym większy dostęp do procesu do procesu procesora. Jak -16 Ładne wartości mają większy dostęp do procesora niż 18 ładnych wartości. Tylko użytkownik z uprawnieniami root może przypisać negatywną wartość Nicei. Normalny użytkownik może przypisać tylko wartość „Nice'a” od 0 do 19. Zwykły użytkownik może przypisać tylko wyższe wartości NICE i we własnych procesach. Użytkownik root może ustawić dowolną wartość na dowolny proces.

Jeśli chcesz podać proces bardziej dostępny do użycia procesora, przypisując wartość Nicea, wpisz następujące polecenie.

Ubuntu@ubuntu: ~ $ fajny +3 chrome

I renim proces

Ubuntu@ubuntu: ~ $ renice -n -6 3612

Wniosek

Oto przewodnik po zarządzaniu systemem Linux z PS, TOP, LSOF, PSTREE, PKILLL, KILLALL, KILLALL, Nice, Renice itp. Niektóre procesy pochłaniają większość zużycia procesora i pamięci RAM; Wiedza o tym, jak zarządzać nimi, zwiększa szybkość i wydajność systemu i daje lepsze środowisko do uruchamiania wszelkich procesów, które chcesz bardziej wydajnie.