Middle+
Jak zabić proces w Linux? Co zrobić, jeśli kill pid nie działa?
sobes.tech AI
Odpowiedź od AI
W systemie Linux proces można zabić za pomocą polecenia kill i podania PID (identyfikatora procesu):
kill <pid>
Domyślnie wysyłany jest sygnał SIGTERM (15), który poprawnie kończy proces.
Jeśli proces nie reaguje na SIGTERM, można wysłać silniejszy sygnał SIGKILL (9), który wymusza zakończenie procesu:
kill -9 <pid>
Jeśli nawet kill -9 nie pomaga, proces może znajdować się w stanie "D" (nieprzerwalny sen), np. oczekując na wejście/wyjście lub zablokowany na poziomie jądra. W takim przypadku nie można zakończyć procesu, dopóki nie zakończy się wywołanie systemowe lub nie zwolni się zasób.
Do diagnostyki można użyć:
ps aux | grep <pid>— aby sprawdzić stan procesu (kolumna STAT)toplubhtop— do monitorowania procesówstrace -p <pid>— do śledzenia wywołań systemowych procesu
Jeśli proces zawiesza się z powodu problemów sprzętowych lub systemu plików, należy rozwiązać problem na tym poziomie.