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 na pierwszym planie
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 %1sudo apt-get upgrade -y
A jeśli chcesz przenieść ten proces w tło, wpisz to polecenie.
[email chroniony]:~$ bg %1Wyś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 uPID 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 | mniejJeś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,commPID 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 uOpcja f służy do wyświetlania pełnego wykazu.
[ochrona poczty e-mail]:~$ ps fOpcja x służy do wyświetlania informacji o procesie bez terminala.
[ochrona poczty e-mail]:~$ ps xOpcja służy do wyświetlania rozszerzonych informacji.
[email chroniony]:~$ ps eopcja służy do wylistowania wszystkich procesów z terminalem.
[chroniony adres e-mail]: ~ $ ps aOpcja v służy do wyświetlania formatu pamięci wirtualnej.
[email chroniony]:~$ ps vFlagi 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 -opstree
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 -lzabić
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 vlclsof (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 1342Tworzenie 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óraZadania: łą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.
- ty naciskając „u” możesz wyświetlić proces uruchomiony przez określonego użytkownika.
- M naciskając „M” możesz uporządkować według użycia pamięci RAM, a nie użycia procesora.
- P naciskając „P” możesz sortować według użycia procesora.
- 1 naciskając „1” przełączaj się między użyciem procesorów, jeśli jest ich więcej niż jeden.
- R naciskając „R” możesz odwrócić sortowanie wyników.
- h naciskając „h” możesz udać się do pomocy i nacisnąć dowolny klawisz, aby wrócić.
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.
- Nieruchomości- pokaż inne ustawienia związane z procesem.
- Mapy pamięci- pokaż mapy pamięci systemu, aby pokazać, która biblioteka i inne komponenty są używane w pamięci dla procesu.
- Otwórz plik- pokazuje, które pliki są otwierane przez proces.
- Zmień priorytet- wyświetl pasek boczny, z którego możesz zmienić proces z opcjami od bardzo wysokiego do bardzo niskiego i niestandardowego.
- Zatrzymać- wstrzymuje proces do momentu wybrania kontynuacji.
- Kontyntynuj- wznawia wstrzymany proces.
- Zabić- Siła natychmiast zabija proces.
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+ POLECENIE7780 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 firefoxlub
[ochrona poczty e-mail]:~$ killall SIGKILL chromeZmiana 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 chromI ciesz się tym procesem
[chroniony adres e-mail]:~$ renice -n -6 3612Wniosek
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.