Sobes.tech
Junior

Jaki sygnał jest wysyłany przy użyciu polecenia kill: SIGTERM czy SIGKILL?

sobes.tech AI

Odpowiedź od AI

Przy użyciu polecenia kill bez podania numeru lub nazwy sygnału, domyślnie wysyłany jest sygnał SIGTERM.

SIGTERM (Sygnał zakończenia):

  • Jest to miękki sygnał zakończenia.
  • Prosi proces o poprawne zakończenie.
  • Proces może przechwycić ten sygnał, wykonać czyszczenie (zamknąć pliki, zapisać stan) i następnie zakończyć się lub go zignorować.

SIGKILL (Sygnał zabicia):

  • Jest to "twardy" sygnał zakończenia.
  • Nie może być przechwycony ani zignorowany przez proces.
  • System natychmiast kończy proces, nie dając mu możliwości wykonania czyszczenia.

W związku z tym, kill domyślnie wysyła SIGTERM. Aby wysłać SIGKILL, należy to wyraźnie określić:

# Wysyła SIGTERM (domyślnie)
kill <PID>

# Wysyła SIGKILL
kill -9 <PID>
# lub
kill -s SIGKILL <PID>