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>