h1

Jeśli Linux się zawiesi

wrzesień 9, 2007

System operacyjny jest stworzony przez człowieka i jak wszystko przez niego stworzone nie jest bezbłędny. W systemach operacyjnych tzw. zawieszenie systemu jest stosunkowo nieprzyjemnym zdarzeniem dla użytkownika często prowadzącym do utraty danych lub innych konsekwencji np. naruszenia integralności dysku twardego. W systemach Windows zawieszenia są szczególnie piętnowane przez użytkowników, w systemach Linux do krytycznych zawieszeń dochodzi niezmiernie rzadko. Ale jeśli się to zdarzy lepiej uniknąć przycisku Reset na obudowie. Są bardziej finezyjne sposoby zamknięcia zamrożonego systemu. Pierwszą rzeczą którą robi użytkownik Linuksa po ewentualnym zawieszeniu, jest przejście na jeden z dostępnych wirtualnych terminali, zalogowanie się i wydanie komendy zabijającej bądź restartującej kłopotliwy proces. Co jeśli system zawiesi się w bardziej spektakularny sposób w którym klawiatura będzie sprawiała wrażenie nieczułej? Istnieje specjalny sposób na tą ewentualność, który jest częścią kodu jądra systemowego i wygląda on tak. W wypadku zawieszenia się systemu bądź chęci bezpiecznego restartu maszyny należy wcisnąć kombinację klawiszy ALT + SysRq/Print Screen po wciśnięciu tych klawiszy jądro systemu otrzyma polecenie do nasłuchiwania specjalnej kombinacji klawiszy która docelowo ma zrestartować system. Trzymając wcześniej wymienioną kombinację wciskamy po kolei klawisze R, E, I, S, U, B po wciśnięciu ostatniego klawisza powinien nastąpić restart systemu. Każdy klawisz z wymienionej kombinacji jest odpowiedzialny za coś innego, np. odmontowanie dysków twardych, zakończenie procesów więc sposób ten jest bardzo bezpieczny dla komputera. Unikajmy więc przyciska reset, który często może spowodować jakieś głębsze problemy.

2 comments

  1. Nie dodałeś, że:

    - Ten klawisz nazywa się SysRq
    - Nie musi być to pod print screenem, jest to zależne od architektury
    - Obsługa tego klawisza musi być w kompilowana (nie wiem czy na stałe czy moduł)
    - Nawet gdy posiadasz coś takiego w kompilowane musi być umożliwone poprzez wpisanie “1″ (jedynki) w opowiednim miejscu w /proc


  2. Dzięki za merytoryczny komentarz :)


Zostaw komentarz