Sobes.tech
Junior

Aký signál sa odosiela pri použití príkazu kill: SIGTERM alebo SIGKILL?

sobes.tech AI

Odpoveď od AI

Pri použití príkazu kill bez uvedenia čísla alebo názvu signálu sa predvolene odosiela signál SIGTERM.

SIGTERM (Signál ukončenia):

  • Je to jemný signál ukončenia.
  • Žiada proces, aby sa správne ukončil.
  • Proces môže tento signál zachytiť, vykonať čistenie (zatvoriť súbory, uložiť stav) a potom sa ukončiť, alebo ho ignorovať.

SIGKILL (Signál zabitia):

  • Je to "tvrdý" signál ukončenia.
  • Nemôže byť zachytený alebo ignorovaný procesom.
  • Systém okamžite ukončí proces, bez toho aby mu dal možnosť vykonať čistenie.

Preto kill predvolene odosiela SIGTERM. Na odoslanie SIGKILL je potrebné ho explicitne uviesť:

# Odoslať SIGTERM (predvolené)
kill <PID>

# Odoslať SIGKILL
kill -9 <PID>
# alebo
kill -s SIGKILL <PID>