Articles

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.

Lab setup for the practice of ps command

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

polecenie ps bez opcji i argumentu

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

polecenia ps-a i 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.

polecenia ps-EF i ps-Af

aby wyświetlić to samo wyjście w stylu BSD Unix, użyj opcji „aux”.

polecenie ps 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.

polecenie ps-u-u

aby wyświetlić cały proces uruchomiony przez określone konto użytkownika, Użyj następującego polecenia.

$ps –U –u 

polecenie ps Pokaż cały proces uruchomiony na jednym koncie użytkownika

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 

polecenie ps-FG

aby wyświetlić cały proces w hierarchii, możemy użyć następującego polecenia.

$ps –A --forest

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

ps przeglądanie ograniczonej kolumny

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

wyjście ps Sortuj według wykorzystania pamięci

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.

ps

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

wyjście ps Sortuj według użycia procesora

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