CodeGym /Kursy /Docker SELF /Zarządzanie procesami systemowymi: ps, top, htop

Zarządzanie procesami systemowymi: ps, top, htop

Docker SELF
Poziom 2 , Lekcja 4
Dostępny

Zarządzanie procesami systemowymi: ps, top, htop

1. Komenda ps — statyczne spojrzenie na procesy

Gdyby Linux był restauracją, to proces byłby szefem kuchni na zapleczu. Jest to wykonywalna instancja programu, która istnieje w pamięci. Kiedy uruchamiasz aplikację lub wykonanie pliku z wiersza poleceń, tworzony jest proces, który następnie wykonuje swoje zadania aż do zakończenia.

Z punktu widzenia programowania, procesy są zarządzane przez jądro Linuksa, a każdy z nich ma unikalny identyfikator — PID (Process ID).

Komenda ps (process status) to podstawowa komenda do przeglądania listy procesów. Daje statyczny migawkowy widok bieżących procesów w systemie. Używając ps, można uzyskać informacje o uruchomionych procesach: ich ID, właścicielu, wierszu poleceń, używanych zasobach.

Podstawowa składnia

Tak wygląda podstawowa komenda:

ps

To pokaże procesy uruchomione w bieżącym terminalu.

Ale to takie nudne! Dodajmy trochę przypraw:

ps aux

Oto co tu się kryje:

  • a — pokazuje procesy innych użytkowników.
  • u — dodaje bardziej czytelny format.
  • x — uwzględnia procesy, które nie są powiązane z terminalem.

Przykład wyjścia:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1  22556  1044 ?        Ss   12:34   0:01 /sbin/init
student      2345  0.1  0.2  34567  2048 pts/0    S+   12:35   0:02 bash
student      4567  0.3  0.5  56789  5144 pts/0    R+   12:36   0:03 ps aux
  • USER: użytkownik, który uruchomił proces.
  • PID: identyfikator procesu.
  • %CPU: procent wykorzystania CPU.
  • %MEM: procent wykorzystania pamięci.
  • COMMAND: komenda, która uruchomiła proces.

Zaawansowane opcje

  1. Zobaczmy drzewiastą strukturę procesów:

    ps -ejH
    

    To pomoże zrozumieć, które procesy są "dzieciami" innych procesów.

  2. Filtrowanie według PID:

    ps -p 1234
    

    Gdzie 1234 to Twój PID. Wyświetla tylko wskazany proces.

  3. Wyświetlenie wszystkich procesów razem z pełną linią komend:

    ps -ef
    

2. Komenda top — dynamiczne monitorowanie procesów

top — to jak telewizor dla procesów. Możesz obserwować, jak procesy zmieniają się w czasie rzeczywistym. Jeśli uruchamiasz serwer lub twój komputer zaczyna „mulić”, top to twój najlepszy kumpel. Dzięki temu zobaczysz, które procesy zjadają najwięcej CPU i pamięci.

Podstawy użytkowania

Wystarczy wpisać w terminalu:

top

Przykład wyniku:

  • Górna linia pokazuje „obciążenie” systemu.
  • Środkowa część informuje o zadaniach (całkowita liczba, aktywne, uśpione, zombie).
  • Dolna część dotyczy pamięci.
  • Dolny blok to lista procesów, gdzie znajdziesz wiele użytecznych informacji, takich jak PID, USER, %CPU i COMMAND.

Nawigowanie w top

  • Naciśnij k, aby zakończyć proces. Wpisz PID.
  • Naciśnij P, żeby posortować procesy według CPU.
  • Naciśnij M, żeby posortować według użycia pamięci.
  • Naciśnij q, żeby wyjść.

3. Narzędzie htop — wygodny interfejs

Jeśli top wydaje Ci się zbyt "surowy", zapraszamy do htop. To wizualny interfejs do monitorowania procesów. Jest kolorowy, obsługuje myszkę i jest w pełni zrozumiały.

Instalacja

Jeśli htop nie jest zainstalowany, dodaj go:

sudo apt-get install htop # Dla dystrybucji opartych na Debianie
sudo yum install htop     # Dla dystrybucji opartych na RedHacie

Uruchamianie

Aby uruchomić htop, po prostu wpisz:

htop

Przykład interfejsu:

Zalety htop:

  • Możliwość przewijania listy procesów.
  • Kolorowe wyróżnienia dla CPU, pamięci, swap.
  • Wygodne klawisze do zakończenia procesów (np. F9).

4. Zadanie praktyczne

Zadanie 1: Znajdź najbardziej "żarłoczny" proces

  • Otwórz top lub htop.
  • Posortuj procesy według CPU i znajdź jego PID.

Zadanie 2: Zakończ proces

  • Użyj kill, aby "zabić" proces:
    kill <PID>
    

Zadanie 3: Analiza procesu

  • Użyj ps, aby przeanalizować PID procesu:
    ps -p <PID> -o pid,user,%cpu,%mem,cmd
    

Pułapki i zalecenia

  1. Nie zabijaj procesów, jeśli nie jesteś pewien, że nie są one krytyczne dla działania systemu. Na przykład proces o PID 1 — to init, podstawa systemu operacyjnego.
  2. Narzędzie htop należy zainstalować osobno, jeśli go nie ma. Jeśli polecenie nie działa, sprawdź instalację.
  3. Zwróć uwagę na uprawnienia. Zakończenie procesów uruchomionych przez innego użytkownika może wymagać uprawnień administratora.

W praktyce zobaczysz, że te narzędzia czynią pracę z Linuxem niesamowicie elastyczną i przejrzystą. Teraz jesteś szefem procesów!

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION