Sobes.tech
Middle+

Ako ukončiť proces v Linuxe? Čo robiť, ak kill pid nepomáha?

sobes.tech AI

Odpoveď od AI

V Linuxe je možné proces ukončiť pomocou príkazu kill a zadania PID (identifikátora procesu):

kill <pid>

Predvolene sa odosiela signál SIGTERM (15), ktorý správne ukončí proces.

Ak proces nereaguje na SIGTERM, môžete poslať silnejší signál SIGKILL (9), ktorý nútene ukončí proces:

kill -9 <pid>

Ak ani kill -9 nepomôže, môže byť proces v stave "D" (neprerušiteľný spánok), napríklad čaká na vstup/výstup alebo je zablokovaný na úrovni jadra. V takom prípade nie je možné proces ukončiť, kým sa systémové volanie nedokončí alebo sa neuvoľní zdroj.

Na diagnostiku je možné použiť:

  • ps aux | grep <pid> — na zistenie stavu procesu (stĺpec STAT)
  • top alebo htop — na sledovanie procesov
  • strace -p <pid> — na sledovanie systémových volaní procesu

Ak je proces zaseknutý kvôli problémom s hardvérom alebo súborovým systémom, je potrebné problém riešiť na tejto úrovni.