Книга: Программирование для Linux. Профессиональный подход
2.1.5. Коды завершения программы
2.1.5. Коды завершения программы
Когда программа завершает работу, она уведомляет операционную систему о своем состоянии, посылая ей код завершения, который представляет собой 16-разрядное целое число. По существующему соглашению нулевой код свидетельствует об успешном завершении, а ненулевой указывает на наличие ошибки. Некоторые программы возвращают различные ненулевые коды, обозначая разные ситуации.
В большинстве интерпретаторов команд код завершения последней выполненной программы содержится в специальной переменной $?
. В показанном ниже примере программа ls
вызывается дважды, и оба раза запрашивается код ее завершения. В первом случае программа завершается корректно и возвращает нулевой код, во втором случае она сталкивается с ошибкой (указанный в командной строке файл не найден), поэтому код завершения оказывается ненулевым:
% ls /
bin coda etc lib misc nfs proc sbin usr
boot dev home lost+found mnt opt root tmp var
% echo $?
0
% ls bogusfile
ls: bogusfile: No such file or directory
% echo $?
1
Программа, написанная на языке С или C++, указывает код завершения в операторе return
в функции main()
. Есть и другие методы задания кодов завершения. Они обсуждаются в главе 3, "Процессы". Например, программе назначается определенный код, когда она завершается аварийно (вследствие получения сигнала).
- Коды завершения программ
- Глава 6 Страны, коды и домены
- Возвращаемые коды и ответная реакция
- СТРУКТУРА ПРОСТОЙ ПРОГРАММЫ
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- 1.2.5. Пример программы
- 24.7. Использование программы-твикера
- Приложение 10. Коды ошибок
- Часть III Прикладные программы
- Цикл создания программы
- Описание программы настройки BIOS
- Программы для восстановления данных