Книга: Программирование на языке Ruby
14.9.3. Получение и установка кодов завершения
14.9.3. Получение и установка кодов завершения
Метод exit
возбуждает исключение SystemExit
и в конечном счете возвращает указанный код завершения операционной системе (или тому, кто его вызвал). Этот метод определен в модуле Kernel
. Метод exit!
отличается от него в двух отношениях: он не выполняет зарегистрированные обработчики завершения и по умолчанию возвращает -1.
# ...
if (all_OK)
exit # Нормально (0).
else
exit! # В спешке (-1).
end
Когда операционная система печатает возвращенный Ruby код (например, выполнив команду echo $?
), мы видим то же самое число, что было указано в программе. Если завершается дочерний процесс, то код его завершения, полученный с помощью метода wait2
(или waitpid2
), будет сдвинут влево на восемь битов. Это причуда стандарта POSIX, которую Ruby унаследовал.
child = fork { sleep 1; exit 3 }
pid, code = Process.wait2 # [12554,768]
status = code << 8 #3
- Расширенная установка InterBase-сервера
- Получение статистики
- Дополнительные национальные кодовые страницы и порядки сортировки
- Установка системы на уже подготовленный жесткий диск
- Получение помощи
- Получение помощи по работе с книгой и компакт-диском
- Получение помощи по Windows SharePoint Services 3.0
- Установка файлов занятий
- 2 Установка системы
- Глава 4. Установка и конфигурирование сетевых интерфесов
- Часть III Установка, настройка и оптимизация операционной системы
- Получение доменного имени