Bash - командный интерпретатор GNU Bourne

       

СИГНАЛЫ


Когда командный интерпретатор bash работает в интерактивном режиме, при отсутствии обработчиков сигналов, он игнорирует сигнал SIGTERM (так что команда не прекращает работу интерактивного командного интерпретатора), а сигнал SIGINT перехватывается и обрабатывается (так, что встроенная команда им не прерывается). Во всех случаях, bash игнорирует сигнал SIGQUIT. Если действует управление заданиями, bash игнорирует сигналы SIGTTIN, SIGTTOU и SIGTSTP.

У синхронных заданий, запущенных командным интерпретатором bash, устанавливаются обработчики сигналов, унаследованные командным интерпретатором от родительского процесса. Если управление заданиями не действует, асинхронные команды также игнорируют сигналы SIGINT и SIGQUIT. Команды, выполняемые для подстановки результатов выполнения, игнорируют сигналы управления заданиями SIGTTIN, SIGTTOU и SIGTSTP, посланные с клавиатуры.

По умолчанию командный интерпретатор завершает работу при получении сигнала SIGHUP. Перед завершением он посылает сигналы SIGHUP всем заданиям, как выполняющимся, так и остановленным. Остановленным заданиям предварительно посылается сигнал SIGCONT, гарантирующий получение ими сигнала SIGHUP. Для предотвращения послыки интерпретатором сигнала конкретному заданию, его необходимо удалить из таблицы заданий с помощью встроенной команды (см. раздел "" далее) или пометить как не получающие сигнал SIGHUP с помощью .

Если с помощью команды установлена опция командного интерпретатора , bash посылает сигнал SIGHUP всем заданиям при завершении работы интерактивного начального командного интерпретатора.

При получении командным интерпретатором bash сигнала, для которого установлен обработчик, в то время, когда ожидается завершение команды, обработчик не выполняется, пока команда не завершится. Когда bash ожидает завершения асинхронной команды с помощью встроенной команды , получение сигнала, для которого установлен обработчик, приводит к немедленному завершению встроенной команды со статусом выхода более 128 сразу же после выполнения кода обработчика.



Содержание раздела