Procesy w Linux

PROCESY W LINUX

  1. Czym jest proces

    Proces to uruchomiony program w systemie.
    Przykłady: przeglądarka, terminal, serwer WWW.
    Każdy program po uruchomieniu staje się procesem.

  2. Najważniejsze cechy procesu

    PID – identyfikator procesu (unikalny numer)
    PPID – ID procesu nadrzędnego
    USER – właściciel procesu
    CPU – zużycie procesora
    MEM – użycie pamięci
    CMD – nazwa programu
    PID jest najważniejszy, ponieważ jest potrzebny do zarządzania procesem.

  3. Rodzaje procesów

    Procesy użytkownika – np. edytor tekstu, przeglądarka
    Procesy systemowe (demony) – działają w tle, np. sshd, apache2
    Procesy systemowe często kończą się literą „d”

  4. W systemie Linux proces zombie (nazywany również procesem „zmarłym” lub defunct) to proces, który zakończył swoje działanie, ale wciąż widnieje w tablicy procesów systemu operacyjnego.

    Czym dokładnie jest proces zombie?

    Dzieje się tak, gdy proces potomny kończy pracę, ale jego proces nadrzędny (rodzic) nie odebrał jeszcze informacji o jego zakończeniu (nie wywołał funkcji wait()). W efekcie:

    • Proces zombie nie zużywa procesora (CPU) ani pamięci RAM.

    • Zajmuje jedynie wpis w tablicy procesów (ma przypisany numer PID).

    • Zniknie automatycznie, gdy proces nadrzędny go „odczyta” lub gdy sam rodzic zostanie zamknięty.

      Jak sprawdzić proces zombie?

    • Wpisz w terminalu: top – metoda wizualna:

      W górnej części ekranu, w linii opisanej jako Tasks, zobaczysz podsumowanie, np.: Tasks: 235 total, 1 running, 234 sleeping, 0 stopped, 0 zombie

    • Metoda tekstowa (Tylko konkretne dane)

      Jeśli chcesz wyświetlić listę konkretnych procesów zombie (ich PID i nazwę), użyj tej komendy:

      ps aux | grep ’Z’
       

  1. Wyświetlanie procesów

Komenda:
ps – Pokazuje procesy aktualnego terminala

Komenda:
ps aux – Pokazuje wszystkie procesy w systemie

Najważniejsze kolumny:
USER – użytkownik
PID – identyfikator
%CPU – użycie procesora
%MEM – użycie pamięci
COMMAND – nazwa procesu

Filtrowanie:
ps aux | grep nazwa_procesu

  1. Monitorowanie procesów

Komenda:
top – Dynamiczny podgląd procesów

Najważniejsze skróty:
q – wyjście
k – zakończenie procesu
M – sortowanie po pamięci

Komenda:
htop
Ulepszona wersja top, może wymagać instalacji:
sudo apt install htop

  1. Zakończenie procesu

Komenda:
kill PID – Kończy proces

Komenda:
kill -9 PID – Wymuszone zakończenie procesu

Komenda:
killall nazwa_procesu – Kończy wszystkie procesy o danej nazwie

  1. Priorytety procesów

Zakres:
-20 – najwyższy priorytet
0 – domyślny
19 – najniższy

Komenda:
nice -n wartość polecenie – Uruchamia proces z określonym priorytetem

Przykład:
nice -n 10 nano plik.txt

Komenda:
renice wartość -p PID – Zmienia priorytet działającego procesu

  1. Najważniejsze procesy systemowe

systemd – główny proces systemu
sshd – zdalny dostęp
apache2 – serwer WWW
cron – zadania automatyczne


Odpowiedzi na zadania wykonujemy w postaci tabeli

Zadanie 1
Wyświetl wszystkie procesy w systemie
Znajdź procesy bash i systemd
Zapisz ich PID

Zadanie 2
Znajdź proces sshd
Odczytaj PID, użytkownika i użycie CPU

Zadanie 3
Uruchom top
Znajdź proces zużywający najwięcej CPU
Posortuj procesy według pamięci
Zamknij program

Zadanie 4
Uruchom nano test.txt
Otwórz drugi terminal
Znajdź proces nano

Zadanie 5
Uruchom polecenie:
sleep 300
Znajdź jego PID
Zakończ proces komendą kill
Jeśli nie działa użyj kill -9

Zadanie 6
Uruchom kilka razy polecenie:
sleep 300
Zakończ wszystkie procesy jedną komendą

Zadanie 7
Uruchom proces:
nice -n 10 sleep 200
Sprawdź jego priorytet w top
Zmień priorytet poleceniem renice

Zadanie końcowe:
Uruchom proces sleep 500
Znajdź jego PID
Zmień jego priorytet
Sprawdź go w top
Zakończ proces

Najczęstsze błędy:
Mylenie PID z nazwą procesu
Brak uprawnień przy renice
Literówki w grep
Proces zakończył się przed wykonaniem polecenia.

 

Kontakt: mgzsp22@gmail.com

© 2026. Wszystkie prawa zastrzeżone.

error: Content is protected !!