Это один из способов завершения программы.Если вы наберете exit
с ненулевым номером, программа будет "нормально завершена с ошибкой".Есть и другие способы.Если кто-то kill
s процесс, он умрет ненормально.Если программа segfaults (обращается к адресу, который не сопоставлен с ней), она будет уничтожена с помощью SIGSEGV.
Это отвечает на вопрос «что вызывает завершение программы».Это не совсем отвечает «какой процесс выполняется», что, вероятно, означает «что делает ядро в случае сбоя программы»?Я не знаю всех кровавых подробностей, но я знаю, что когда программа делает что-то незаконное, она не (если нет ошибки в ядре или чем-то еще) повреждает память любой другой части системы, она просто останавливаетпрограмма запускается и возвращает ресурсы, которые она использовала, в систему.