Sobes.tech
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)
  • top lub htop — do monitorowania procesów
  • strace -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.