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>