Zarządzanie procesami (ps, top, kill)
Nauczą się Państwo wyświetlać, monitorować i kończyć działające procesy w systemie, a także rozumieć identyfikatory i stany procesów.
Zarządzanie procesami (ps, top, kill) to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Czym są procesy?
W systemie Linux proces to uruchomiona instancja programu. Każde wykonane polecenie i każda otwarta aplikacja działa jako co najmniej jeden proces.
- Procesami zarządza system operacyjny.
- Ich zrozumienie ma kluczowe znaczenie dla monitorowania stanu systemu i rozwiązywania problemów.
Wyświetlanie procesów za pomocą `ps`
Polecenie ps (process status) służy do wyświetlania informacji o aktualnie uruchomionych procesach.
Domyślnie wyświetla procesy powiązane z bieżącą sesją terminala.
Szczegółowe informacje o procesach (`ps aux`)
Aby wyświetlić wszystkie procesy uruchomione w systemie, w tym procesy uruchomione przez innych użytkowników lub usługi systemowe, używamy opcji takich jak aux lub -ef.
ps aux: Wyświetla wszystkie procesy, w tym te, które nie są powiązane z terminalem.ps -ef: Wyświetla wszystkie procesy w pełnym formacie listy.
Proszę uruchomić ps aux i przekazać jego wynik do head, aby wyświetlić kilka pierwszych wierszy:
ps aux | head -n 5Interpretowanie wyników `ps`
Wynik polecenia ps aux zawiera kilka ważnych kolumn:
- USER: Użytkownik będący właścicielem procesu.
- PID: Unikatowy identyfikator procesu.
- %CPU: Procentowe użycie procesora.
- %MEM: Procentowe użycie pamięci.
- COMMAND: Polecenie, które uruchomiło proces.
PID ma szczególne znaczenie podczas zarządzania procesami.
Monitorowanie w czasie rzeczywistym za pomocą `top`
Podczas gdy ps przedstawia migawkę, polecenie top zapewnia dynamiczny widok uruchomionych procesów w czasie rzeczywistym.
Wynik jest stale aktualizowany i pokazuje procesy zużywające najwięcej zasobów.
Interpretowanie danych z `top`
Po uruchomieniu top u góry zobaczy Pan/Pani podsumowanie, a poniżej listę procesów.
- Load Average: Średnie obciążenie systemu z ostatniej 1, 5 i 15 minut.
- Tasks: Łączna liczba procesów oraz procesów uruchomionych, uśpionych, zatrzymanych i zombie.
- %Cpu(s): Wykorzystanie procesora.
- Mem: Całkowita, wolna, używana i buforowana pamięć.
- Process List: Kolumny podobne do tych w
ps, ale stale sortowane (domyślnie według użycia procesora).
Wyszukiwanie określonych procesów
Można połączyć ps z grep, aby filtrować określone procesy, na przykład wyszukać wszystkie procesy związane z „bash”.
Część grep -v grep pozwala wykluczyć z wyników samo polecenie grep.
ps aux | grep -i "bash" | grep -v "grep"Kończenie procesów za pomocą `kill`
Czasami proces może się zawiesić lub zużywać zbyt wiele zasobów. Polecenie kill umożliwia wysyłanie sygnałów do procesów, zazwyczaj w celu ich zakończenia.
Potrzebny jest identyfikator PID procesu, który chce Pan/Pani zakończyć.
Poznawanie sygnałów `kill`
Po użyciu kill wysyłany jest „sygnał” do procesu. Domyślnym sygnałem jest SIGTERM (15), który prosi proces o poprawne zamknięcie.
kill PID: Wysyła SIGTERM.kill -9 PID: Wysyła SIGKILL. Jest to wymuszone zakończenie, którego proces nie może zignorować. Należy używać go ostrożnie!
Wszystkie dostępne sygnały można wyświetlić za pomocą kill -l:
kill -lPraktyczny przykład użycia `kill`
Przećwiczmy kończenie prostego procesu działającego w tle. Uruchomimy w tle polecenie sleep, znajdziemy jego PID, a następnie użyjemy polecenia kill, aby je zatrzymać.
Proszę uruchomić poniższy kod. Po jego wykonaniu zostanie wyświetlony PID procesu sleep. Następnie w terminalu należy ręcznie wpisać kill <PID> (zastępując <PID> rzeczywistym numerem), aby go zatrzymać.
# Step 1: Start a dummy process in the background
sleep 300 &
echo "Sleep process started. Now finding its PID..."
# Step 2: Find its Process ID (PID)
# Look for the 'sleep' process in the output
ps aux | grep -i "sleep" | grep -v "grep"
# Step 3: To kill it, manually type 'kill <PID>'
# Example: kill 12345Szybki sprawdzian: zarządzanie procesami
Dowiedział się Pan/Pani, jak wyświetlać, monitorować i kończyć procesy. Sprawdźmy teraz, czy wszystko jest zrozumiałe.
Podsumowanie: zarządzanie procesami
Świetna praca! W tej lekcji opanował(a) Pan/Pani najważniejsze polecenia systemu Linux służące do zarządzania procesami:
ps: Wyświetlanie procesów i uzyskiwanie migawki ich stanu.top: Monitorowanie procesów systemowych i użycia zasobów w czasie rzeczywistym.kill: Wysyłanie sygnałów do procesów, przede wszystkim w celu ich poprawnego (SIGTERM) lub wymuszonego (SIGKILL) zakończenia.
Narzędzia te mają kluczowe znaczenie dla administracji systemem i rozwiązywania problemów.
Często zadawane pytania
Czy lekcja „Zarządzanie procesami (ps, top, kill)” jest bezpłatna?
Tak — pełny tekst „Zarządzanie procesami (ps, top, kill)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Co nauczysz się w „Zarządzanie procesami (ps, top, kill)”?
Nauczą się Państwo wyświetlać, monitorować i kończyć działające procesy w systemie, a także rozumieć identyfikatory i stany procesów. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?
Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Zarządzanie procesami (ps, top, kill)”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?
Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Zarządzanie procesami (ps, top, kill)
- Przekierowywanie wejścia i wyjścia (>, >>, <)
- Łączenie poleceń potokami (|)
- Zadania w tle i kontrola zadań