Junior
Kāds signāls tiek nosūtīts, izmantojot komandu kill: SIGTERM vai SIGKILL?
sobes.tech AI
Atbilde no AI
Izmantojot komandu kill bez signāla numura vai nosaukuma, pēc noklusējuma tiek nosūtīts signāls SIGTERM.
SIGTERM (Beigu signāls):
- Tas ir maigais beigu signāls.
- Tas lūdz procesam pareizi beigt darbu.
- Process var šo signālu uztvert, veikt tīrīšanu (aizvērt failus, saglabāt stāvokli) un pēc tam beigt vai ignorēt.
SIGKILL (Nepārvarama beigu signāls):
- Tas ir "ciets" beigu signāls.
- To nevar uztvert vai ignorēt procesā.
- Sistēma nekavējoties pārtrauc procesu, nesniedzot tam iespēju veikt tīrīšanu.
Tādēļ kill pēc noklusējuma nosūta SIGTERM. Lai nosūtītu SIGKILL, to jānorāda skaidri:
# Nosūtīt `SIGTERM` (noklusējums)
kill <PID>
# Nosūtīt `SIGKILL`
kill -9 <PID>
# vai
kill -s SIGKILL <PID>