Sobes.tech
Middle+

Jak zabít proces v Linuxu? Co dělat, když příkaz kill pid nepomáhá?

sobes.tech AI

Odpověď od AI

V Linuxu lze proces ukončit pomocí příkazu kill a zadáním PID (identifikátoru procesu):

kill <pid>

Ve výchozím nastavení je odeslán signál SIGTERM (15), který proces správně ukončí.

Pokud proces nereaguje na SIGTERM, lze poslat silnější signál SIGKILL (9), který proces násilně ukončí:

kill -9 <pid>

Pokud ani kill -9 nepomůže, může být proces v stavu "D" (nepřerušitelný spánek), například čeká na vstup/výstup nebo je zablokován na úrovni jádra. V takovém případě nelze proces ukončit, dokud neskončí systémový volání nebo se neuvolní zdroj.

Pro diagnostiku lze použít:

  • ps aux | grep <pid> — zkontrolovat stav procesu (sloupec STAT)
  • top nebo htop — sledování procesů
  • strace -p <pid> — sledování systémových volání procesu

Pokud je proces zaseknutý kvůli problémům s hardwarem nebo souborovým systémem, je třeba problém řešit na této úrovni.