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
Zobaczmy drzewiastą strukturę procesów:
ps -ejH
To pomoże zrozumieć, które procesy są "dzieciami" innych procesów.
Filtrowanie według PID:
ps -p 1234
Gdzie
1234
to Twój PID. Wyświetla tylko wskazany proces.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
lubhtop
. - 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
- 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.
- Narzędzie
htop
należy zainstalować osobno, jeśli go nie ma. Jeśli polecenie nie działa, sprawdź instalację. - 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!
GO TO FULL VERSION