8. Вывод системы из зависшего состояния

Аннотация

При «зависании» ваш компьютер перестает отвечать на команды, а устройства ввода, такие как клавиатура и мышь, кажутся заблокированными. Это один из самых худших случаев, и он может означать, что в вашей конфигурации, программном обеспечении или оборудовании присутствует серьезная ошибка. Мы покажем вам, как вести себя в такой неприятной ситуации.

В случае зависания системы первым делом необходимо попытаться корректно завершить работу системы. Допустим, что вы работаете в X. В этом случае попробуйте последовательно выполнить следующие действия:

  1. Попробуйте убить X-сервер, нажав клавиши Ctrl-Alt-Backspace.

  2. Попробуйте переключиться в другую консоль, нажав клавиши Alt-Ctrl-Fn (где n - это номер консоли от 1 до 6). Если вам удалось сделать это, войдите в систему под root'ом и выполните команду: kill -15 $(pidof X) или команду kill -9 $(pidof X), если первая команда не имела эффекта. Проверьте с помощью top, не выполняется ли еще X.

  3. Если ваша машина является частью локальной сети, попробуйте воспользоваться ssh, чтобы подключиться к своей машине с другого компьютера. Желательно входить по ssh на удаленную машину под обычным пользователем, а затем использовать команду su, чтобы стать root'ом.

  4. Если система не реагирует ни на одно из этих действий, вам необходимо воспользоваться последовательностью SysRq (System Request). Последовательность SysRq вызывается одновременным нажатием трех клавиш: левого Alt, клавиши SysRq (PrintScreen на старых клавиатурах) и буквенной клавиши.

    1. Alt-SysRq-R переводит клавиатуру в «сырой» режим (raw). Теперь попробуйте еще раз нажать Alt-Ctrl-Backspace, чтобы убить X. Если это не помогает, читайте дальше.

    2. Alt-SysRq-S пытается записать на диск все несохраненные данные (операция «sync»).

    3. Alt-SysRq-E отправляет сигнал termination (завершить работу) всем процессам, кроме init.

    4. Alt-SysRq-I отправляет сигнал kill (убить) всем процессам, кроме init.

    5. Alt-SysRq-U пытается перемонтировать все файловые системы, примонтированные в режиме только для чтения. При этом удаляется «флаг dirty», чтобы предотвратить проверку файловой системы при перезагрузке.

    6. Alt-SysRq-B перегружает систему. С тем же успехом вы могли бы просто нажать на своем компьютере кнопку «reset».

    [Замечание]Замечание

    Помните, что это последовательность действий, т.е. вы должны вводить комбинации одну за одной в правильном порядке: Raw, Sync, tErm, kIll, Umount, reBoot[30]. Прочтите документацию к ядру для получения дополнительной информации об этой возможности.

  5. Если ничего из вышеописанного не помогает, скрестите пальцы и нажмите «reset». Если вам повезет, при перезагрузке GNU/Linux только проверит диск.

Как бы там ни было, в любом случае попробуйте выяснить, что привело к зависанию, потому что это может серьезно повредить файловую систему. Рассмотрите также возможность использования журналируемых файловых систем, предлагаемых в Mandriva Linux: ext3, reiserfs и др., которые лучше справляются с такими сбоями. Однако для перехода с ext2FS на reiserfs вам потребуется отформатировать свои разделы. Вы можете воспользоваться командой tune2fs -j /dev/hdaN, чтобы преобразовать файловую систему на Nом разделе первого IDE-диска из ext2FS в ext3FS.



[30] Мнемоническая фраза: «Raising Skinny Elephants Is Utterly Boring» (подъем тощих слонов крайне скучен). Если вы хорошо знаете английский, вам это пригодится, в противном случае просто зазубрите эту последовательность (прим. переводчика).