Sobes.tech
Junior

Kokį signalą siunčia naudojant komandą kill: SIGTERM ar SIGKILL?

sobes.tech AI

Atsakymas iš AI

Naudojant komandą kill be signalo numerio ar pavadinimo, pagal numatytuosius nustatymus siunčiamas SIGTERM signalas.

SIGTERM (Užbaigimo signalas):

  • Tai švelnus užbaigimo signalas.
  • Jis prašo proceso teisingai užbaigti darbą.
  • Procesas gali priimti šį signalą, atlikti valymą (uždaryti failus, išsaugoti būseną) ir tada užbaigti arba ignoruoti.

SIGKILL (Priverstinio užbaigimo signalas):

  • Tai "kietas" užbaigimo signalas.
  • Jis negali būti priimtas ar ignoruojamas proceso.
  • Sistema nedelsdama užbaigia procesą, nesuteikdama jam galimybės atlikti valymą.

Todėl kill pagal numatytuosius nustatymus siunčia SIGTERM. Norint siųsti SIGKILL, jį reikia aiškiai nurodyti:

# Siųsti `SIGTERM` (numatyta)
kill <PID>

# Siųsti `SIGKILL`
kill -9 <PID>
# arba
kill -s SIGKILL <PID>