โฮมเพจ » ทำอย่างไร » ใช้ Magic SysRq Key บน Linux เพื่อแก้ไขเซิร์ฟเวอร์แช่แข็ง X รีบูตใหม่ทั้งหมดและเรียกใช้คำสั่งระดับต่ำอื่น ๆ

    ใช้ Magic SysRq Key บน Linux เพื่อแก้ไขเซิร์ฟเวอร์แช่แข็ง X รีบูตใหม่ทั้งหมดและเรียกใช้คำสั่งระดับต่ำอื่น ๆ

    บน Linux คีย์ Magic SysRq สามารถส่งคำสั่งโดยตรงไปยังเคอร์เนล Linux คุณสามารถใช้มันเพื่อกู้คืนจากการค้างหรือรีสตาร์ทระบบของคุณอย่างสมบูรณ์แม้ว่าจะไม่มีอะไรปรากฏขึ้นที่จะตอบสนอง.

    คีย์ Magic SysRq นั้นถูกนำมาใช้เป็นส่วนหนึ่งของไดรเวอร์แป้นพิมพ์ของ Linux ซึ่งจะทำงานได้ตราบใดที่เคอร์เนล Linux ยังคงทำงานอยู่ เฉพาะความตื่นตระหนกเคอร์เนลเท่านั้นที่ควรปิดการใช้งานคีย์ผสมนี้.

    เครดิตภาพ: solylunafamilia บน Flickr

    การใช้คีย์ Magic SysRq

    ปุ่ม SysRq อยู่ใกล้กับปุ่ม Scroll Lock บนแป้นพิมพ์ของคุณ - โดยทั่วไปแล้วปุ่ม Sys Rq นั้นเหมือนกับปุ่ม Print Screen ของคุณ การรวมกัน“ เวทมนตร์” SysRq คือ Alt + SysRq.

    ในการใช้คีย์ผสมนี้เคอร์เนล Linux ของคุณจะต้องรวบรวมด้วยตัวเลือกการคอมไพล์ CONFIG_MAGIC_SYSRQ การกระจาย Linux ส่วนใหญ่จะเปิดใช้งานสิ่งนี้ตามค่าเริ่มต้น สมมติว่าคอมไพล์ลงในเคอร์เนลของคุณสามารถเปิดใช้งานหรือปิดใช้งานบนระบบที่รันอยู่โดยการเปลี่ยนค่าของ / proc / sys / kernel / sysrq เพื่อตรวจสอบว่ามันเปิดใช้งานหรือไม่ให้เรียกใช้คำสั่งต่อไปนี้:

    cat / proc / sys / kernel / sysrq

    หากคุณเห็น“ 1” ปุ่มมายากล SysRq จะถูกเปิดใช้งาน.

    หากคุณเห็น“ 0” คุณจะต้องเปิดใช้งานด้วยตัวเองโดยใช้คำสั่งต่อไปนี้ในฐานะรูท:

    echo“ 1”> / proc / sys / kernel / sysrq

    การจัดการกับ Frozen X Server

    หากเซิร์ฟเวอร์ X ของคุณ (โปรแกรมที่เรียกใช้เดสก์ทอปแบบกราฟิกของคุณหยุดทำงาน) คุณอาจพบว่าตัวเองไม่สามารถใช้ระบบของคุณได้ มีคำสั่ง magic SysRq สองสามคำที่สามารถช่วยได้:

    • Alt + SysRq + R - นำคีย์บอร์ดออกจากโหมด raw โดยไม่ต้องควบคุมเซิร์ฟเวอร์ X หลังจากรันชุดค่าผสมนี้คุณควรจะสามารถใช้แป้นพิมพ์ลัด Ctrl + Alt + F1 (และปุ่ม F อื่น ๆ ) เพื่อสลับไปยังคอนโซลอื่นและเริ่มต้น X.
    • Alt + SysRq + k - ฆ่าโปรแกรมทั้งหมดบนคอนโซลเสมือนปัจจุบันรวมถึง X คุณยังสามารถเปิดใช้งานแป้นพิมพ์ลัด Ctrl + Alt + Backspace ในการตั้งค่าแป้นพิมพ์ของ Ubuntu เพื่อรีสตาร์ทเซิร์ฟเวอร์ X ของคุณ - อย่างไรก็ตามทางลัดนี้ถูกใช้งานโดยเซิร์ฟเวอร์ X และอาจไม่ทำงานเสมอไป.

    เริ่มระบบของคุณใหม่หมดจด

    ใช้ตามลำดับการดำเนินการบางอย่างเหล่านี้สามารถใช้ในการสิ้นสุดกระบวนการล้างข้อมูลไปยังดิสก์ยกเลิกการต่อเชื่อมระบบไฟล์ทั้งหมดและรีสตาร์ทคอมพิวเตอร์ของคุณ ในการดำเนินการตามขั้นตอนนี้ให้กดปุ่ม Alt + SysRq และกดปุ่ม Alt และ SysRq ค้างไว้ - พิมพ์คีย์ต่อไปนี้ตามลำดับโดยหยุดชั่วคราวเป็นเวลาหลายวินาทีระหว่างแต่ละคีย์:

    reisub

    ช่วยในการจำ“Raising Elephants ผมs Sโอ ยูtterly Boring” มักจะใช้เพื่อจดจำลำดับนี้ นี่คือสิ่งที่แต่ละคีย์ทำ:

    • R - วางคีย์บอร์ดในโหมด raw โดยควบคุมมันจากเซิร์ฟเวอร์ X.
    • อี - ส่งสัญญาณยุติไปยังกระบวนการทั้งหมดขอให้พวกเขาสิ้นสุดอย่างสง่างาม.
    • ผม - ส่งสัญญาณ kill ไปที่กระบวนการทั้งหมดบังคับให้หยุดทันที.
    • s - ล้างข้อมูลจากแคชไปยังดิสก์.
    • ยู - remount ระบบไฟล์ทั้งหมดแบบอ่านอย่างเดียว.
    • - รีบูตเครื่องคอมพิวเตอร์ของคุณ.

    คำสั่งเพิ่มเติม

    นี่คือการกระทำอื่น ๆ ที่คุณสามารถทำได้ด้วยปุ่ม Magic SysRq หากต้องการดำเนินการให้กดปุ่ม Alt + SysRq ค้างไว้ในขณะที่พิมพ์ตัวอักษร:

    • n - รีเซ็ตระดับ nice (ระดับความสำคัญ) ของกระบวนการลำดับความสำคัญสูงและเรียลไทม์ทั้งหมด.
    • - เรียก oom_kill ซึ่งจะฆ่ากระบวนการหน่วยความจำที่กำลังจ็อกกิ้ง.
    • โอ - ปิดคอมพิวเตอร์.

    มีการดำเนินการอื่น ๆ แต่พวกเขาอาจมีประโยชน์มากกว่าสำหรับนักพัฒนามากกว่าค่าเฉลี่ย Linux สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ magic SysRq key - และรายการการกระทำทั้งหมดที่คุณสามารถทำได้ - ศึกษาไฟล์ sysrq.txt ที่มาพร้อมกับเคอร์เนล Linux.