Creative Saplings

30 Przydatne przykłady „polecenia ps” do monitorowania procesów w systemie Linux

30 stycznia, 2021
No Comments

ps (stan procesów) to natywne narzędzie Unix / Linux do przeglądania informacji dotyczących zaznaczenia procesów uruchomionych w systemie: odczytuje te informacje z plików wirtualnych w systemie plików / proc. Jest to jedno z ważnych narzędzi do administrowania systemem, szczególnie w trakcie monitorowania procesu, aby pomóc ci zrozumieć, co dzieje się w systemie Linux.

Ma wiele opcji manipulowania jego danymi wyjściowymi, jednak znajdziesz mały wiele z nich jest praktycznie przydatnych do codziennego użytku.

Przeczytaj także: Wszystko, co musisz wiedzieć o procesach w Linuksie

W tym artykule przyjrzymy się 30 przydatnym przykładom poleceń ps do monitorowania aktywnych działających procesów w systemie Linux.

Zauważ, że ps generuje wynik z wierszem nagłówka, który reprezentuje znaczenie każdej kolumny informacji, możesz znaleźć znaczenie wszystkich etykiet w ps man

Wyświetl wszystkie procesy w bieżącej powłoce

1. Jeśli uruchomisz polecenie ps bez żadnych argumentów, wyświetli procesy dla bieżącej powłoki.

$ ps 
Lista aktualnie uruchomionych procesów

Drukuj wszystkie procesy w różnych formatach

2. Wyświetl każdy aktywny proces w systemie Linux w formacie ogólnym (Unix / Linux).

$ ps -AOR$ ps -e
Lista procesów w standardowym formacie

3. Wyświetl wszystkie procesy w formacie BSD.

$ ps auOR$ ps axu
Lista procesów w formacie BSD

4. Aby wykonać listę w pełnym formacie, dodaj flagę -f lub -F.

$ ps -efOR$ ps -eF
Lista procesów w formacie długiej listy

Wyświetl procesy uruchomione przez użytkownika

5. Możesz wybrać wszystkie procesy, których jesteś właścicielem (runner polecenia ps, w tym przypadku root), wpisz:

$ ps -x 

6. Aby wyświetlić procesy użytkownika według rzeczywistego identyfikatora użytkownika (RUID) lub nazwy, użyj flagi -U.

$ ps -fU tecmintOR$ ps -fu 1000
Lista procesów użytkownika według identyfikatora

7. Aby wybrać procesy użytkownika według efektywnego identyfikatora użytkownika (EUID) lub nazwy, użyj opcji -u.

$ ps -fu tecmintOR$ ps -fu 1000

Drukuj wszystkie procesy działające jako root (identyfikator rzeczywisty i efektywny)

8. Poniższe polecenie umożliwia wyświetlenie każdego procesu uruchomionego z uprawnieniami użytkownika root (real & efektywny identyfikator) w formacie użytkownika.

$ ps -U root -u root 
Wyświetl procesy uruchomione przez głównego użytkownika

Wyświetl procesy grupowe

9. Jeśli chcesz wyświetlić wszystkie procesy należące do określonej grupy (rzeczywisty identyfikator grupy (RGID) lub nazwa), wpisz.

$ ps -fG apacheOR$ ps -fG 48
Wyświetl procesy grupowe

10. Aby wyświetlić wszystkie procesy należące do efektywnej nazwy grupy (lub sesji), wpisz.

$ ps -fg apache

Wyświetl procesy według PID i PPID

11. Możesz wyświetlić listę procesów według PID w następujący sposób.

$ ps -fp 1178
Lista procesów według PID

12. Aby wybrać proces według PPID, wpisz.

$ ps -f --ppid 1154
Lista procesów według PPID

13. Dokonaj wyboru za pomocą listy PID.

$ ps -fp 2226,1154,1146
Lista Procesy według identyfikatorów PID

Wyświetl procesy według TTY

14. Aby wybrać procesy według tty, użyj flagi -t w następujący sposób.

$ ps -t pst/0$ ps -t pst/1$ ps -ft tty1
Lista procesów według TTY

Wydrukuj drzewo procesów

15. Drzewo procesów pokazuje, w jaki sposób procesy w systemie są ze sobą powiązane; procesy, których rodzice zostali zabici, są przejmowane przez init (lub systemd).

$ ps -e --forest 
Lista drzew procesów

16. Możesz także wydrukować drzewo procesów dla danego procesu, takiego jak ten.

$ ps -f --forest -C sshdOR$ ps -ef --forest | grep -v grep | grep sshd 
Widok drzewa listy procesów

Drukuj wątki procesu

17. Aby wydrukować wszystkie wątki procesu, użyj flagi -H, co spowoduje wyświetlenie kolumn LWP (proces lekki) oraz NLWP (liczba procesów lekkich).

$ ps -fL -C httpd
Lista wątków procesu

Określ niestandardowy format wyjściowy

Używając opcji -o lub –format, ps umożliwia tworzenie formatów wyjściowych zdefiniowanych przez użytkownika, jak pokazano poniżej.

18. Aby wyświetlić wszystkie specyfikatory formatu, dołącz flagę L.

$ ps L

19. Poniższe polecenie umożliwia wyświetlenie PID, PPID, nazwy użytkownika i polecenia procesu.

$ ps -eo pid,ppid,user,cmd
Lista procesów z nazwami

20. Poniżej znajduje się kolejny przykład niestandardowego formatu wyjściowego pokazujący grupę systemu plików, fajną wartość, czas rozpoczęcia i czas, który upłynął dla procesu.

$ ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime
Wyświetl informacje o identyfikatorze procesu

21. Aby znaleźć nazwę procesu za pomocą jego PID.

$ ps -p 1154 -o comm=
Znajdź proces przy użyciu PID

Wyświetl procesy nadrzędne i podrzędne

22. Aby wybrać określony proces według jego nazwy, użyj flagi -C, spowoduje to również wyświetlenie wszystkich jego procesów potomnych.

$ ps -C sshd
Znajdź proces nadrzędny podrzędny

23. Znajdź wszystkie identyfikatory PID wszystkich wystąpień procesu, przydatne podczas pisania skryptów, które muszą odczytywać identyfikatory PID ze standardowego wyjścia lub pliku.

$ ps -C httpd -o pid=
Znajdź wszystkie identyfikatory PID procesów

24. Sprawdź czas wykonywania procesu.

$ ps -eo comm,etime,user | grep httpd

Poniższe dane wyjściowe pokazują, że usługa HTTPD działała przez 1 godzinę, 48 minut i 17 sekund.

Znajdź czas sprawności procesu

Rozwiązywanie problemów Wydajność systemu Linux

Jeśli twój system nie działa tak, jak powinien, na przykład jest niezwykle wolny, możesz wykonać następujące czynności rozwiązywania problemów.

26. Znajdź najczęściej działające procesy według największego wykorzystania pamięci i procesora w systemie Linux.

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | headOR$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
Znajdź najczęściej działające procesy

27. Aby zabić procesy Linuksa / nieodpowiadające aplikacje lub jakikolwiek proces, który zużywa dużo czasu procesora.

Najpierw znajdź PID procesu lub aplikacji, która nie odpowiada.

$ ps -A | grep -i stress

Następnie użyj polecenia kill, aby natychmiast zakończyć.

$ kill -9 2583 2584
Znajdź i zabij proces

Wydrukuj informacje o zabezpieczeniach

28. Pokaż kontekst bezpieczeństwa (szczególnie dla SELinux) w ten sposób.

$ ps -eMOR$ ps --context
Znajdź kontekst SELinux

29. Za pomocą tego polecenia można również wyświetlić informacje bezpieczeństwa w formacie zdefiniowanym przez użytkownika.

$ ps -eo euser,ruser,suser,fuser,f,comm,label
Wyświetlaj kontekst SELinux według użytkowników

Monitoruj proces w czasie rzeczywistym za pomocą narzędzia Watch

30. Wreszcie, ponieważ ps wyświetla statyczne informacje, możesz użyć narzędzia watch do monitorowania procesu w czasie rzeczywistym z powtarzalnymi danymi wyjściowymi, wyświetlanymi co sekundę, jak w poniższym poleceniu (określ niestandardowe polecenie ps, aby osiągnąć swój cel).

$ watch -n 1 "ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head"
Monitorowanie procesu w czasie rzeczywistym

Ważne: ps pokazuje tylko statyczne informacje, aby wyświetlić często aktualizowane dane wyjściowe, możesz użyć narzędzi takich jak htop; do góry i spojrzenia: ostatnie dwa to w rzeczywistości narzędzie do monitorowania wydajności systemu Linux.

Możesz również przeczytać następujące powiązane artykuły.

  1. Jak znaleźć nazwę procesu na podstawie numeru PID w systemie Linux
  2. Znajdź najczęściej działające procesy według największego wykorzystania pamięci i procesora w systemie Linux
  3. Przewodnik po Polecenia Kill, Pkill i Killall do zakończenia procesu w systemie Linux
  4. Jak znaleźć i zabić uruchomione procesy w systemie Linux
  5. Jak uruchomić polecenie Linuksa w tle i odłączyć proces w terminalu

Articles
Previous Post

PMC (Polski)

Next Post

Wycieczki Yosemite: Najlepsze miejsca na spacery w Parku Narodowym Yosemite

Dodaj komentarz Anuluj pisanie odpowiedzi

Najnowsze wpisy

  • Najlepsze szkoły fotograficzne na świecie, 2020
  • Suwerenni obywatele zabierają na drogi swoją antyrządową filozofię
  • Przewodnik po kosztach naprawy sztukaterii
  • Muckrakers (Polski)
  • Precyzyjna onkologia

Archiwa

  • Luty 2021
  • Styczeń 2021
  • Grudzień 2020
  • Listopad 2020
  • Październik 2020
  • Wrzesień 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.