ps aux command i PS Command explained
Ten samouczek wyjaśnia, jak używać polecenia ps w Linuksie . Zawiera również ponad 10 praktycznych przykładów polecenia ps. Dowiedz się, jak szczegółowo odczytać dane wyjściowe polecenia ps aux.
krótkie wprowadzenie polecenia ps
polecenie ps (status procesu) jest jednym z najczęściej używanych poleceń w Linuksie. Zwykle służy do uzyskania bardziej szczegółowych informacji na temat określonego procesu lub wszystkich procesów. Na przykład jest używany, aby wiedzieć, czy dany proces jest uruchomiony lub nie, kto jest uruchomiony jaki proces w systemie, który proces używa wyższej pamięci lub procesora, jak długo Proces jest uruchomiony, itp.
Lab Setup
w praktyce Uruchom niektóre aplikacje i utrzymaj je w działaniu. Przełącz konto użytkownika i powtórz ten sam proces.
teraz Załóżmy, że jesteś administratorem systemu i jako administrator systemu chcesz wiedzieć, co się dzieje w systemie.W takim przypadku możesz użyć polecenia ps, aby uzyskać wymagane informacje.
używając polecenia ps
Otwórz terminal i uruchom polecenie ps
bez opcji i argumentu, polecenie ps pokazuje tylko proces uruchomiony pod zalogowanym kontem użytkownika z bieżącego terminala.
możesz się zastanawiać, dlaczego polecenie ps pokazuje dwa procesy, podczas gdy do tej pory nie wykonaliśmy żadnego procesu z tego terminala.
cóż… pierwszy proces pokazuje proces, pod którym ten terminal jest otwarty. Proces ten pozostaje otwarty, dopóki terminal nie zostanie otwarty.
drugi proces pokazuje ostatnią wykonaną komendę w tym terminalu.
określanie opcji za pomocą polecenia ps
polecenie ps akceptuje opcje w trzech stylach.
BSD UNIX style: – w tym stylu opcje są dostarczane bez żadnego wiodącego myślnika (np. „aux”).
AT& T UNIX style: – w tym stylu opcje są dostarczane z wiodącym myślnikiem (takim jak „-aux”).
GNU Linux style: – w tym stylu opcje są dostarczane z podwójnymi myślnikami (takimi jak „–sort”).
chociaż polecenie PS akceptuje opcje w stylu mix, zawsze należy używać tylko jednego stylu do określania opcji.
podstawowe przykłady polecenia ps
aby wydrukować wszystkie uruchomione procesy w systemie, użyj jednego z poniższych poleceń.
$ps –A$ps -e
opcje a i E zapewniają podsumowanie działania processes.To wydrukuj szczegółowy przegląd, użyj opcji f (pełny format) i F (dodatkowy pełny format) z tymi opcjami.
aby wyświetlić to samo wyjście w stylu BSD Unix, użyj opcji „aux”.
polecenie „ps aux” jest najczęściej używanym poleceniem przez administratorów Linuksa. Zanim przejdziemy do następnego przykładu, przyjrzyjmy się szczegółowo opcjom używanym w tym poleceniu.
ps aux command options
a:- ta opcja wypisuje uruchomione procesy od wszystkich użytkowników.
u:- Ta opcja pokazuje kolumnę użytkownika lub właściciela na wyjściu.
x:- Ta opcja wypisuje procesy, które nie zostały wykonane z terminala.
łącznie opcje „aux” wypisują cały uruchomiony proces w systemie, niezależnie od tego, gdzie został wykonany.
opis wyjścia polecenia ps aux kolumna po kolumnie
Kolumna | opis |
użytkownik | konto użytkownika, pod którym działa ten proces |
PID | ID procesu tego procesu |
%CPU | czas procesora używany przez ten proces (w procentach). |
%MEM | pamięć fizyczna używana przez ten proces (w procentach). |
VSZ | Pamięć wirtualna używana przez ten proces (w bajtach). | RSS | Resident Set Size, nie wymienialna pamięć fizyczna używana przez ten proces (w KiB) |
TTY | Terminal, z którego ten proces jest uruchamiany. Znak zapytania (?) znak oznacza, że proces ten nie jest uruchamiany z terminala. |
STAT | stan procesu. Wyjaśnione w następnej tabeli. |
początek | czas rozpoczęcia i data tego procesu |
czas | Całkowity czas procesora używany przez ten proces |
polecenie | polecenie ze wszystkimi jego argumentami, które rozpoczęły ten proces |
ps aux Stat code with description
d | nieprzerwany sen (zwykle Io) | |
r | uruchamianie lub uruchamianie (w kolejce uruchamiania) | |
s | przerywany sen (oczekiwanie na zakończenie zdarzenia) | |
T | zatrzymane przez sygnał sterujący pracą | |
t | zatrzymane przez debugger podczas śledzenia | |
w | paging (nie jest ważne od wersji 2.6.x | martwy (nigdy nie powinien być widoczny) |
z | nieaktywny („zombie”) proces, zakończony, ale nie wywołany przez jego rodzica | |
N | low-priority (miły dla innych użytkowników) | |
l | ma strony zablokowane w pamięci (dla czasu rzeczywistego i niestandardowych Io) | |
s | jest liderem sesji | |
l | jest wielowątkowy (używając clone_thread, jak nptl pthreads) | |
+ | jest w grupie procesów pierwszoplanowych |
kluczowe punkty
- użycie procesora jest wyrażane jako procent czasu spędzonego na uruchomieniu przez cały okres eksploatacji procesu.
- pola SIZE i RSS nie liczą niektórych części procesu, w tym tabel stron, stosu jądra, struct thread_info i struct task_struct.
- SIZE jest wirtualnym rozmiarem procesu (Kod + dane+stos).
- procesy oznaczone<nieistniejące> są martwymi procesami (tak zwanymi „zombie”), które pozostają, ponieważ ich rodzic nie zniszczył ich prawidłowo.
- jeśli długość nazwy użytkownika jest większa niż długość kolumny wyświetlania, nazwa użytkownika zostanie obcięta.
10+ praktyczne przykłady polecenia ps
aby wyświetlić cały proces uruchomiony na koncie użytkownika root, użyj następującego polecenia.
$ps -U root -u root
w tym poleceniu:-
-u: – Wybierz proces na podstawie rzeczywistego identyfikatora lub nazwy użytkownika.
-u: – Wybierz proces na podstawie efektywnego identyfikatora lub nazwy użytkownika.
RUID (Real User ID) reprezentuje nazwę Użytkownika, podczas gdy EUID (Effective User ID) opisuje użytkownika, którego uprawnienia dostępu do plików są używane przez proces.
aby wyświetlić cały proces uruchomiony przez określone konto użytkownika, Użyj następującego polecenia.
$ps –U –u
aby wyświetlić cały proces uruchomiony w określonej grupie, użyj następującego polecenia.
$ps –G
aby uzyskać szczegółowy przegląd, możemy również połączyć opcję –G z opcją –F.
$ps –FG
aby wyświetlić cały proces w hierarchii, możemy użyć następującego polecenia.
$ps –A --forest
wyświetlanie tylko określonej kolumny
domyślnie polecenie ps wyświetla wszystkie kolumny. Jeśli interesują nas tylko poszczególne kolumny,możemy ograniczyć wynik poprzez podanie wymaganych nazw kolumn jako argumentów.
na przykład, aby wyświetlić tylko kolumny PID, USER i CMD, możemy użyć następującego polecenia.
$ps –eo pid,user,cmd
znajdowanie procesu, który używa najwyższej pamięci
domyślnie polecenie ps nie sortuje wyjścia. Ustawiając kolejność sortowania na %MEM, możemy znaleźć procesy, które zużywają wyższe pamięci.
aby ustawić kolejność sortowania, używana jest opcja –sort=. Możemy również połączyć tę opcję z innymi opcjami, aby uzyskać bardziej szczegółowe dane wyjściowe.
na przykład, wyświetlmy tylko określone pola i uporządkujmy je według zastosowań pamięci.
$ps –eo pid,user,%mem,cmd --sort=-%mem
ograniczenie wyjścia
domyślnie polecenie ps nie ogranicza wyniku na wyjściu.Jeśli interesuje nas tylko poznanie trzech najwyższych procesów,które zużywają najwięcej pamięci, zamiast wyświetlać wynik polecenia ps w terminalu możemy przekierować go do polecenia head.
domyślnie polecenie head wyświetla 10 najlepszych linii z podanego źródła.Możemy nadpisać to domyślne zachowanie, określając wymagane numery linii.
aby wyświetlić tylko trzy najwyższe procesy, możemy użyć opcji „-n 4” z poleceniem head.
dla 3 wyników podaj cyfrę 4 jako argument. Podobnie jak w przypadku polecenia ps, pierwsza linia jest zajęta przez tytuły.
znajdowanie procesu,który używa najwyższego procesora
podobnie jak obliczyliśmy procesy zużywające najwięcej pamięci, możemy również znaleźć procesy zużywające najwięcej procesora, sortując dane wyjściowe na podstawie kolumny procesora.Na przykład następujące polecenie wyświetla 3 najlepsze procesy uporządkowane według użycia procesora.
$ps –eo pid,user,%cpu,cmd –-sort=-%cpu | head –n 4
znajdowanie całkowitej liczby procesów uruchomionych przez użytkownika
aby obliczyć całkowitą liczbę procesów uruchomionych przez użytkownika, Użyj następującego polecenia
$ps –U –u | wc –l
Leave a Reply