Aby zlokalizować i zakończyć proces w systemie Linux, należy skorzystać z terminala oraz kilku podstawowych narzędzi systemowych. Poniżej znajdziesz wyczerpujący poradnik krok po kroku, który wprowadzi Cię w temat zarówno od strony teoretycznej, jak i praktycznej.
1. Czym są procesy w Linuxie?
Proces to uruchomiony program lub polecenie działające w systemie operacyjnym. Każdy proces posiada unikalny numer identyfikacyjny PID (ang. Process ID) oraz może być powiązany z określonym użytkownikiem i terminalem.
2. Jak znaleźć aktywne procesy? (lokalizowanie procesu)
Do lokalizowania procesów służą poniższe komendy:
ps
Wyświetla listę aktywnych procesów.
-
ps Pokazuje procesy bieżącego terminala.
-
ps aux Pokazuje wszystkie procesy, bez względu na użytkownika.
-
ps -ef Alternatywna, rozbudowana forma listy procesów z dodatkowymi szczegółami.
-
ps -u nazwa_uzytkownika Lista procesów określonego użytkownika.
-
ps -eo pid,user,cmd,%cpu,%mem Wybór najważniejszych kolumn do analizy.
Przykład użycia:
ps aux | grep nazwa_programu
W ten sposób zlokalizujesz interesujący Cię proces po nazwie programu.
top / htop
-
top Prezentuje procesy w czasie rzeczywistym – dynamicznie aktualizowane zużycie zasobów (CPU, RAM, PID itd.).
-
htop To bardziej interaktywny odpowiednik top, umożliwiający selekcję oraz zakończenie procesu bezpośrednio z interfejsu (htop można doinstalować).
Wyjście z programu: klawisz q
.
fuser i lsof
-
fuser [opcje] plik… Wyświetla PID procesów korzystających z pliku lub portu sieciowego (opcje: -k zabija procesy, -u podaje właściciela, -v wyświetla więcej szczegółów).
-
lsof Listuje procesy korzystające z pliku lub katalogu.
Przegląd przez /proc
Systemowy katalog /proc
zawiera podkatalogi o nazwach odpowiadających numerom PID – w nich znajdziesz informacje o każdym działającym procesie.
3. Jak zidentyfikować proces do zakończenia?
Znając PID (można go odczytać z powyższych poleceń) i/lub nazwę programu, decydujesz które procesy chcesz zakończyć. Należy być ostrożnym – zamknięcie kluczowych procesów może zakłócić działanie systemu.
4. Jak zakończyć proces?
kill
Podstawowe narzędzie – wysyła sygnał do procesu:
-
kill PID Próbuje zakończyć proces (domyślnie sygnał SIGTERM).
-
kill -9 PID Wymusza natychmiastowe zakończenie (sygnał SIGKILL). Stosować, gdy normalne zakończenie nie działa.
Przykład:
kill 1234 kill -9 1234
Gdzie 1234 to PID procesu.
pkill / killall
-
pkill nazwa_programu Kończy wszystkie procesy według nazwy.
-
killall nazwa_programu Także kończy procesy po nazwie.
Przykład:
pkill firefox killall firefox
fuser -k
Można użyć fuser do „zabicia” wszystkich procesów korzystających np. z danego pliku:
fuser -k /home
5. Jak sprawdzić, czy proces został zakończony?
Powtórz polecenia ps czy top – sprawdź, czy PID/nazwa procesu dalej się pojawia. Jeżeli nie, proces został prawidłowo zakończony.
6. Co zrobić, gdy nie możesz dostać się do pulpitu (np. zawieszenie środowiska graficznego)?
- Przełącz się na tryb tekstowy: klawisze Ctrl + Alt + F1-F6 (np. F1 lub F2).
- Zaloguj się z linii poleceń.
- Zidentyfikuj i zakończ proces wg powyższych instrukcji, korzystając m.in. z ps i kill.
7. Dodatkowe uwagi i środki ostrożności
- Kończ procesy ostrożnie – użycie
kill -9
powinno być ostatecznością. - Nie zamykaj procesów systemowych bez pewności co do ich funkcji.
- Do zarządzania procesami w środowiskach graficznych możesz użyć np. System Monitor (monitor systemu) dostępny w większości dystrybucji.
Podsumowanie – skrócone komendy (do szybkiego przypomnienia):
- ps aux | grep program
- top
- kill PID
- kill -9 PID
- pkill program
- fuser -k /sciezka/do/pliku
- Ctrl + Alt + Fx (do konsoli tekstowej w awarii GUI)
System Linux oferuje wiele narzędzi do zarządzania procesami – nauka ich obsługi zwiększa Twoją kontrolę nad systemem i pozwala skutecznie rozwiązywać typowe problemy.