ใช้ 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.