YaChudo

Статус завершення

Переглядів: 0. Оновлено 10.10.2026.

У програмуванні статус завершення чи код завершення (англ. exit status) завершеного процесу — це ціле число, яке стає доступним його батьківському процесу (або виклику). У DOS його можуть називати рівнем помилки (англ. errorlevel).

Коли виконуються комп'ютерні програми, операційна система створює абстрактну сутність, яку називають процесом, у якій ведеться облік, пов'язаний із цією програмою. У багатозадачних операційних системах, таких як Unix або Linux, нові процеси можуть створюватися активними процесами. Процес, який породжує інший процес, називається батьківським процесом, тоді як створені ним процеси є дочірніми процесами. Дочірні процеси виконуються паралельно з батьківським процесом. Техніка породження дочірніх процесів використовується для делегування певної роботи дочірньому процесу, коли немає потреби зупиняти виконання батьківського процесу. Коли дочірній процес завершує виконання, він завершується викликом системного виклику exit. Цей системний виклик забезпечує передавання коду статусу завершення батьківському процесу, який може отримати це значення за допомогою системного виклику wait.

Семантика

Батьківський і дочірній процеси можуть мати узгоджене розуміння значення статусів завершення. Наприклад, поширеною практикою програмування є повернення (завершення з) дочірнім процесом нульового значення батьківському процесу, що означає успішне виконання. Окрім цього значення, повернутого дочірнім процесом, батьківському процесу також може бути доступна інша інформація, наприклад про те, як завершився процес — нормально чи внаслідок отримання сигналу.

Конкретний набір кодів, що повертаються, є унікальним для програми, яка їх встановлює. Зазвичай він указує на успішне або невдале виконання. Значення коду, повернутого функцією або програмою, може вказувати на конкретну причину невдачі. У багатьох системах, чим більше значення, тим серйознішою є причина помилки.[1] Як альтернатива, кожен біт може вказувати на окрему умову, причому вони об'єднуються операцією АБО для отримання остаточного значення; наприклад, так робить fsck.

Іноді, якщо коди розроблено з такою метою, їх можна безпосередньо використовувати як індекс гілки після повернення до програми, що ініціювала виконання, щоб уникнути додаткових перевірок.

Див. також

Примітки

  1. ↑ Errorlevels. Rob van der Woude's Scripting Pages. Процитовано 26 серпня 2007.

Джерело: стаття у Вікіпедії та історія редагувань (автори).