Sobes.tech
Junior

Кайси сигнал дар вақти истифодаи фармони kill фиристода мешавад: SIGTERM ё SIGKILL?

sobes.tech AI

Ҷавоб аз AI

Когато използвате командата kill без да посочите номера или името на сигнала, по подразбиране се изпраща сигналът SIGTERM.

SIGTERM (Сигнал за прекратяване):

  • Това е мек сигнал за прекратяване.
  • Той моли процеса да се прекрати правилно.
  • Процесът може да улови този сигнал, да извърши почистване (затваряне на файлове, запазване на състояние) и след това да се прекрати, или да го игнорира.

SIGKILL (Сигнал за принудително прекратяване):

  • Това е "твърд" сигнал за прекратяване.
  • Не може да бъде уловен или игнориран от процеса.
  • Системата незабавно прекратява процеса, без да му даде възможност за почистване.

Затова kill по подразбиране изпраща SIGTERM. За да изпратите SIGKILL, трябва да го посочите явно:

# Изпрати SIGTERM (по подразбиране)
kill <PID>

# Изпрати SIGKILL
kill -9 <PID>
# или
kill -s SIGKILL <PID>