Разница между сигналами SIGTERM и SIGKILL при завершении процессов заключается в характере завершения и возможности обработки. 24
SIGTERM (номер 15) — сигнал по умолчанию, который отправляет команда kill. 2 Он запрашивает корректное завершение процесса. 2 Получивший SIGTERM процесс может выполнить операции очистки, сохранить своё состояние, закрыть открытые файлы и сетевые соединения. 2 Дочерние процессы при этом не завершаются автоматически. 2 SIGTERM предпочтительнее SIGKILL, так как позволяет программе корректно завершить работу, возможно, сохранив данные и правильно освободив ресурсы. 2
SIGKILL (номер 9) — сигнал для принудительного завершения процесса. 2 При его использовании процесс завершается немедленно, без возможности сохранить своё состояние. 2 Дочерние процессы при этом становятся сиротами и их берёт под опеку процесс init. 2 SIGKILL используют как крайнюю меру, когда процесс не реагирует на SIGTERM или нужно остановить процесс немедленно, без задержки. 2
Ещё одно важное отличие в том, что SIGKILL нельзя обработать, заблокировать или проигнорировать, в то время как SIGTERM можно обрабатывать, игнорировать и блокировать. 14