Proces to uruchomiony program w systemie.
Przykłady: przeglądarka, terminal, serwer WWW.
Każdy program po uruchomieniu staje się procesem.
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.
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”
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.
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’
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
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
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
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
systemd – główny proces systemu
sshd – zdalny dostęp
apache2 – serwer WWW
cron – zadania automatyczne
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.