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>