Тож статті kbase про коди помилок системи сягають часів процесорів PowerPC, яким, мабуть, потрібно було набагато більше бітів, щоб повідомити про всі потенційні помилки апаратури, які можуть викликати відключення. Починаючи з появою плати Intel, усі відключення позначаються 8-бітовим кодом, якщо звичайні прапорці відключення програмного забезпечення не записуються. Позитивний код вказує на відключення, ініційоване програмним забезпеченням або HID, тоді як негативний код (в діапазоні від -1 до -127) вказує на відключення, ініційоване апаратними процесорами Intel SMC. Код відключення -128 вказує на апаратне відключення невідомої причини.
Код відключення 0 знаходиться у граничному просторі між обладнанням та користувачем; це означає раптову втрату потужності, яка може бути викликана збоєм обладнання або дією користувача (якщо ви хочете продемонструвати це на собі, спробуйте висунути акумулятор зі старого MacBook або MacBook Pro, поки він увімкнений і відключений, або потягнувши під час роботи iMac вимкніть шнур живлення з iMac, потім перезавантажте комп'ютер і перевіряйте Console.app. Причина 0 сну призводить до того, що MacBook / Pro / Air вводить себе в SafeSleep, використовуючи останній біт запасного акумулятора до повного відключення системи для того, щоб для збереження вмісту ОЗУ в
/var/vm/sleepimage
файл. Якщо у вас не трапиться підключити адаптер MagSafe одразу після того, як комп'ютер перейде до сну, цей код досить гарантовано дотримуватиметься "0" Причини вимкнення в system.log.
Деякі коди відключення апаратних засобів унікальні для конкретних моделей комп'ютера залежно від їх конфігурації, оскільки вони посилаються на конкретний датчик або пристрій, який існує лише в цій моделі - коли я працював у Apple, нам сказали, що Intel відповідала за присвоєння кодів і Не було особливо вільним в обміні інформацією про цей рахунок, навіть з Apple Engineering. Тому нам довелося самостійно з'ясувати незрозумілі.
Попереднє вимкнення Причина 5 і 3 - це перешкоди з PowerPC днів, оскільки вони ініційовані користувачем, ОС все ще несе відповідальність за повідомлення про них.
Код 5 є чистим, ініційованим користувачем відключення програмного забезпечення, наприклад, вибравши Shut Down з меню , або натиснувши на кнопку харчування і вибір відключення в спливаючому вікні, або утримуючи controloptioncommandeject, або набравши
sudo halt
в командному рядку. Аналогічно, Причина попереднього сну з 5 вказує на будь-який чистий сон, ініційований користувачем, з меню або гарячого кута чи командного рядка або закриття кришки та спрацьовування датчика ефекту Холла у верхньому випадку MacBook / Pro / Air .
Код 3 - це "брудне" відключення, яке може бути викликане будь-яким ініційованим користувачем перезавантаженням комп'ютера або примушенням апаратного комп'ютера зупинитися, утримуючи кнопку живлення протягом 5+ секунд.