มีวิธีที่เร็วที่สุดในการปิดระบบหรือไม่


20

หรือshutdown -h nowเร็วที่สุดเท่าที่จะทำได้?

ฉันมองหา syscall หรือคล้ายกันที่จะอนุญาตให้ข้ามสิ่งต่าง ๆ มากมายที่ทำไว้ก่อนที่จะปิดเครื่อง

ที่ดีที่สุดฉันต้องการแก้ปัญหาที่เกี่ยวข้องกับเคอร์เนลการไม่รู้ในinit-middleware (เช่นsystemdหรือupstart)

ความเสี่ยงที่เกี่ยวข้องกับการฆ่าโดยตรงบริการทั้งหมดเช่นถ้วย / apache / pulseaudio ฯลฯ ... ฉันจะไม่สนใจ ....

หมายเหตุ: โซลูชันควรเป็นซอฟต์แวร์รอง การกดปุ่มที่อุปกรณ์ไม่ใช่สิ่งที่ฉันค้นหา


8
"ความเสี่ยงที่เกี่ยวข้องกับการฆ่าบริการทั้งหมดโดยตรงเช่นถ้วย / apache / pulseaudio ฯลฯ ... ฉันจะไม่สนใจ .... " -> คุณแน่ใจเหรอ? การปล่อยซอฟต์แวร์ที่ซับซ้อนในสถานะที่ไม่สอดคล้องกันอาจทำให้เกิดความประหลาดใจที่น่ารังเกียจในครั้งต่อไปที่มีการใช้งาน บางทีคุณควรพิจารณาปิดการใช้งานบริการที่คุณไม่ได้ใช้มาก (เช่นถ้วย, Apache) คุณสามารถเริ่มและหยุดสิ่งเหล่านั้นด้วยตนเองเมื่อคุณต้องการใช้
goldilocks

วิธีที่ฉันค้นหาคือช่วงเวลาที่ฉันต้องการหลีกเลี่ยงคนที่เข้าถึงพีซีของฉัน ความล่าช้าใด ๆ ในการปิดระบบช่วยให้เข้าใจผิด ฉันค่อนข้างหลวมข้อมูลแล้วเปิดเผย
humanityANDpeace

2
โปรดไปที่นี้ด้วยเช่นกัน
Pandya

8
มีความคิด เริ่มประหยัดเงินสำหรับฮาร์ดแวร์ใหม่บางอย่าง
John WH Smith

sudo shutdown -P 0 ฉันใช้มันและมันจะเริ่มกระบวนการปิดทันทีไม่ว่าแอปใดจะเปิดอยู่
gkmohit

คำตอบ:


30

มันไม่ได้เร็วกว่าการใช้ระบบการจอง (SysRq) rebootฟังก์ชันการทำงานและจากนั้นเรียกทันที

นี่คือการรวมกันที่สำคัญโดยเคอร์เนลเข้าใจ

เปิดใช้งาน SysRq:

echo 1 > /proc/sys/kernel/sysrq

ตอนนี้ส่งมันเข้าสู่การรีบูต

echo b > /proc/sysrq-trigger

b - รีบูตระบบทันทีโดยไม่ต้องถอดหรือซิงค์ระบบไฟล์

บันทึก:

แม้ว่านี่จะเป็นrebootมันจะทำงานเหมือนกำลังถูกตัดออกซึ่งไม่แนะนำ

หากคุณต้องการsyncและumountระบบไฟล์ก่อนมือให้ใช้:

echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger

หรือถ้าคุณเพียงต้องการปิดระบบแล้ว:

echo o > /proc/sysrq-trigger

การผสมคีย์เวทย์

นอกจากนี้ยังมีคีย์ผสมที่จะใช้ซึ่งตีความโดยเคอร์เนล:

Alt+ SysRq / Print Screen+Command Key

ปุ่มคำสั่ง:

R- ควบคุมแป้นพิมพ์กลับจาก X
E- ส่ง SIGTERM ไปยังกระบวนการทั้งหมดทำให้สามารถยุติการทำงานได้อย่างสวยงาม
I- ส่ง SIGKILL ไปยังกระบวนการทั้งหมดบังคับให้ยุติทันที
S- ล้างข้อมูลลงดิสก์
U- ติดตั้งระบบไฟล์ทั้งหมดใหม่อ่านอย่างเดียว
B- รีบูต

การอ้างอิงจากMagic SysRq Key Wiki :

การใช้งานทั่วไปของคีย์ Magic SysRq คือทำการรีบูทอย่างปลอดภัยของคอมพิวเตอร์ Linux ซึ่งมีการล็อคไว้เป็นอย่างอื่น

  1. กดปุ่มAltและSysRq(พิมพ์หน้าจอ) ค้างไว้
  2. ในขณะที่ถือลงผู้พิมพ์คีย์ต่อไปนี้ในการสั่งซื้อหลายวินาทีกัน: REISUB
  3. คอมพิวเตอร์ควรรีบูท

วิธีในการจดจำสิ่งเหล่านี้คือ:

" R eboot E ven I f S ystem U tterly B roken" หรือเพียงแค่คำว่า " BUSIER " อ่านย้อนหลัง

อ้างอิง

Magic SysRq Key Wiki
Fedora SysRq


11
สิ่งสำคัญคือต้องทราบว่าระบบที่สะอาดอาจใช้เวลาปิดน้อยกว่า 2 วินาที เมื่อฉันโทรpoweroffไปที่เครื่องอาร์ชฉันก็ไม่เห็นแม้แต่จะมีการปิดบันทึกการพิมพ์บนหน้าจอ ...
John WH Smith

ก่อนเสียงก้องที่สองคุณต้องการเรียกใช้sync( linux.about.com/library/cmd/blcmdl8_sync.htm ) ซึ่งจะทำให้แน่ใจว่าบัฟเฟอร์ถูกเขียนลงดิสก์รวมถึง superblock
Arcege

คุณแนะนำbechod oเป็นไม่ได้ ดีกว่าไหม?
humanityANDpeace

มันขึ้นอยู่กับว่าคุณหมายถึงอะไรดีกว่า ในขณะที่bตัวเลือกนั้นเร็วมาก แต่ก็ไม่ได้syncเป็นดิสก์ซึ่งไม่เหมาะมีหลายตัวเลือกที่ให้วิธีการลดเวลาการปิดเครื่อง นอกจากนี้ยังมีpanicตัวเลือก อ่านวิกิและการลองผิดลองถูกเพื่อดูว่าอะไรที่ตรงกับความต้องการของคุณมากที่สุด
geedoubleya

ในระบบสกรูของฉันecho o /proc/sysrq-triggerจะทำให้เกิดอาการแฮงค์ ระบบยังคงอยู่ แน่นอนbระบบจะหายไป กระนั้นก็เริ่มต้นใหม่ซึ่งหมายความว่า RAM สามารถรักษาได้ซึ่งเป็นช่องโหว่ที่ฉันต้องการbตัวเลือกกับระบบที่ถูกปิดในที่สุด น่าเศร้าที่นี่ใช้งานไม่ได้กับoตัวเลือกในระบบของฉัน ขอบคุณสำหรับคำแนะนำให้กับคุณและยัง @Pandya
humanityANDpeace

8

shutdown -h -n nowวิธีการที่น่ารังเกียจคือ

โปรดทราบว่าการดำเนินการนี้จะไม่ทำการล้างข้อมูลใด ๆ ดังนั้นระบบไฟล์อาจไม่สอดคล้องกันฐานข้อมูลเสียหาย ฯลฯ แต่จะปิดระบบอย่างรวดเร็ว


1
ขอบคุณเสียงนี้รบกวน: -nตัวเลือกนี้บันทึกไว้และยังอยู่ในการปิดเวอร์ชันปัจจุบันหรือไม่?
humanityANDpeace

1
ใช่นั่นเป็นมาตรฐาน มันบอกให้เคอร์เนลวางทุกอย่างโดยตรง คำสั่งนี้ปกติจะใช้จากสคริปต์การปิดระบบล่าสุดเมื่อการปิดระบบปกติเสร็จสมบูรณ์
Simon Richter

7
แต่ฉันไม่สามารถเครียดพอที่จะทำให้เกิดผลเสียส่วนใหญ่เนื่องจากมันจะเทียบเท่ากับการดึงปลั๊ก
Simon Richter

เรียบง่ายและมีประสิทธิภาพ ตัวเลือก -n นี้เป็นสิ่งที่ฉันกำลังมองหา ขอบคุณมากสำหรับการตอบคำถามตามที่ถาม คุณไม่รู้ว่ามันน่าหงุดหงิดแค่ไหนที่จะถามคำถามและฟัง neckbeards ทุกคนบอกคุณว่าทำไมคำถามของคุณผิดแทนที่จะตอบแค่นั้น ฉันจะถอนคำตอบนี้ห้าสิบครั้งถ้าทำได้ ขอขอบคุณ.
Joshua Pech

4

distros บางคนมีคำสั่งซึ่งจะง่ายกว่าpoweroffshutdown

ใช้กับ:

poweroff -f

จะทำการซิงค์ดิสก์จากนั้นปิดเครื่อง นี่คือการประนีประนอมที่ดีระหว่างการทำงานที่เร็วขึ้นมากในขณะที่ยังคงทำการปิดระบบน้อยที่สุดเพื่อให้แน่ใจว่าระบบไฟล์ไม่เสียหาย


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.