Большинство сигналов по умолчанию фатальные. Любой сигнал , указанный в списке с действием по умолчанию «завершение» или «сброс ядра», является фатальным, если только он не проигнорирован или не обработан явно. Сюда входят такие «доброкачественные» сигналы, как SIGUSR1
, а также SIGKILL
разумеется, SIGTERM
и т. д.
Это соответствует определению фатальных сигналов ядра Linux; чтобы сигнал был фатальным:
SIGCONT
, SIGCHLD
, SIGWINCH
, иSIGURG
с одной стороны, и SIGSTOP
, SIGTSTP
, SIGTTIN
и SIGTTOU
с другой ; Таким образом, фатальным сигналом является сигнал, который может привести к уничтожению процесса (без прохождения через обработчик, заданный исполняемой программой ).
Основная роль оболочки — позволить вам запускать программы, установленные в вашей системе. Как следствие, все оболочки командной строки позволяют запускать практически одни и те же команды. Различия заключаются в очень небольшом количестве команд, встроенных в сами оболочки, которые немного различаются между оболочками.
Оболочки различаются, главным образом, с точки зрения их средств программирования и возможностей командной строки (завершения, вызова истории, синтаксического удобства и т. д. ). Видеть Каковы фундаментальные различия между основными *оболочками NIX? . Оболочки отвечают за выпуск командной строки , и это тоже зависит от оболочки.
Для интерактивного использования по умолчанию в Linux используется bash, а в macOS — zsh. Если вы начали привыкать к bash, вы можете прочитать мое руководство о том, почему zsh лучше . Единственным другим серьезным претендентом на интерактивное использование является fish , у которого хорошие настройки по умолчанию, но мало возможностей для настройки.