הקסם של SysRq

הרבה אנשים לא יודעים למה קיימים חלק מהמקשים על המקלדת… אחד המקשים האלו הוא SysRq. המקש לא נמצא בשימוש בהרבה מקומות, אבל דווקא בלינוקס (ואף בעוד כמה מערכות יוניקס) יש שימוש למקש.

למרות שהרבה אנשים חושבים שהמקש נקרא System Rescue, המקש דווקא נקרא System Request. והתפקיד שלו הוא להחזיר תגובה כלשהי למערכת תקועה.

ישנן מקלדות שונות שבחלקן המקש יהיה שונה:

  • בPC אנחנו נשתמש במקש Print Screen/SysRq.
  • בSPARC אנחנו נשתמש בכפתור STOP.
  • בPowerPC אנחנו נשתמש בכפתור Print Screen.

דבר מאוד חשוב לדעת הוא, שהאפשרות בגרעין הלינוקס תהיה מאופשרת בזמן הידור הגרעין, כלומר האופציה CONFIG_MAGIC_SYSRQ תהיה מאופשרת.

בתוך התפריט של הגרעין, בזמן הידור, אנחנו נאפשר את הפריט "Magic Sysrequest key".

בשביל לבדוק האם הפריט כבר מאופשר נבצע את הפעולה הבאה:

cat /proc/sys/kernel/sysrq

כאשר במידה והאפשרות תחזיר לנו 0, סימן שאנחנו לא יכולים להשתמש באפשרות, וצריך להדר את הגרעין לתמוך באפשרות זו. במידה והאפשרות היא 1, זה אומר כי האפשרות מאופשרת. כל מספר אחר, אומר שאפשרויות ספציפיות פתוחות. אנא ראו את החלק התייחסות שלי לקרוא יותר.

כמו כן, ניתן להשתמש בקריאה sysctrl לבדוק ולהגדיר את השימוש בSysRq:

בשביל להסיר את האפשרות נריץ את:

sysctl kernel/sysrq

לאפשר את השימוש נריץ את:

sysctl -w kernel/sysrq=1

עכשיו כאשר אנחנו יודעים שהאפשרות פעילה, אנחנו יכולים להפעיל פונקציות שונות. על מנת להפעיל את פונקציות שונות, אנחנו נשתמש במקש ALT+SysRq כאשר אז אנחנו לוחצים על הפונקציות הרצויות.

הפונקציות הן:

  • 0-9 – רמת התיעוד (log) שתישפך לנו על המסך בהודעות הגרעין, כאשר 0, הינה הרמה הגבוהה ביותר, כלומר רק הודעות חשובות כדוגמת פאניקת גרעין או שגיאות גרעין יוצגו, כאשר 9 יתן לנו את כל רמת התיעוד הקיימת.
  • b – יאתחל את המערכת בצורה מיידית. חשוב לזכור כי זהו יהיה השלב האחרון, אחרי שבוצע סינכרוניזציה והסרת עגינה של דיסקים.
  • c – יגרום לגרעין לרשום קובץ coredump ויאתחל את המחשב.
  • d – מציג את כל הנעילות הקיימות.
  • e – הורג את כל מה שרץ ע"י שליחת SIGTERM פרט לinit.
  • f – יהרוג תהליך אשר גוזל הרבה זיכרון, ע"י השימוש ב oom_kill.
  • g – ישתמש ב kgdb במערכות כדוגמת ppc.
  • h – יציג עזרה אודות המקשים השונים (למעשה כל מקש אשר לא בשימוש יעשה את העבודה).
  • i – יהרוג את כל מה שרץ ע"י שליחת SIGKILL פרט לinit.
  • k – חיבור "בטוח" – יהרוג את כל התהליכים שרצים על מסוף הספציפי, ויתן אפשרות לבצע כניסה באמצעות init. הדבר אינו באמת מאובטח ב100% וחשוב לדעת את זה.
  • m – ישפוך על המסוף את תמונת הזיכרון הקיימת (memory dump).
  • o – יכבה את המערכת (במידה ומוגדר ומאופשר).
  • p – ישפוך את האוגרים והדגלים השונים למסוף.
  • q – ישפוך את כל השעונים הרצים כעט למסוף.
  • r – יחזיר שליטה של המקלדת, כאשר המקלדת הפסיקה להגיב (לדוגמה כאשר X נתקע).
  • s – ינסה לסנכרן את כל המערכות המעוגנות כרגע.
  • t – ישפוך על המסוף את רשימת כל המשימות כולל מידע עליהם.
  • u – ינסה לעגון את כל המערכות המעוגנות כרגע במצב של קריאה בלבד.
  • v – ישפוך מידע (Voyager) למסוף על מעבד מסויים (SMP).
  • w – מציג מידע על תהליכים במצב של "חוסר הפרעה" (מסומנים כblock).
  • x – נמצא בשימוש של xmon בppc.

ע"מ לאתחל את המחשב כמו שצריך במידה והמערכת אינה מגיבה, אנחנו נשתמש בקיצורים הבאים:

ALT+SysRq+R

ALT+SysRq+E

ALT+SysRq+I

ALT+SysRq+S

ALT+SysRq+U

ALT+SysRq+B

הדבר שיתרחש הוא: החזרת שליטה של המקלדת, תהרוג את כל התהליכים שרצים כרגע, מוודא הריגה של כל התהליכים, סנכרן את כל המידע חזרה לדיסקים המעוגנים, הפוך את העגינה למצב של קריאה בלבד, ואז אתחל את המחשב.

חשוב לזכור את הסדר: REISUB .

שיטה נוספת היא השימוש ב ALT+SysRq+R ואז להשתמש בALT+CTRL+DEL אשר יבצע בעצם את המשימה כמו shutdown now.

יש גם אפשרות לבצע תהליכים כאלו לשרת מרוחק, ע"י השרת sysrqd.

עוד מידע, והתייחסות למידע שנכתב כאן ניתן למצוא בכתובות הבאות:

3 מחשבות על “הקסם של SysRq

  1. פינגבק: כמה זה 2 מגה מתוך 4 גיגה ? | לראות שונה

להשאיר תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת /  לשנות )

תמונת גוגל

אתה מגיב באמצעות חשבון Google שלך. לצאת מהמערכת /  לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת /  לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת /  לשנות )

מתחבר ל-%s

This site uses Akismet to reduce spam. Learn how your comment data is processed.