0Pricing
Linux Command Line & Bash Scripting Mastery · Lekcja

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 Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Command Line & Bash Scripting Mastery 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 5

Interpretowanie 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 -l

Praktyczny 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 12345

Szybki 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 Linux Command Line & Bash Scripting Mastery, przejdź na CoddyKit PRO. Kurs Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery 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ąć Linux Command Line & Bash Scripting Mastery?

Nie wymagamy żadnego doświadczenia. Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?

Tak. Każda lekcja Linux Command Line & Bash Scripting Mastery 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

  1. Zarządzanie procesami (ps, top, kill)
  2. Przekierowywanie wejścia i wyjścia (>, >>, <)
  3. Łączenie poleceń potokami (|)
  4. Zadania w tle i kontrola zadań
← Powrót do Linux Command Line & Bash Scripting Mastery