Ubuntu 13.04 จะไม่ปิดตัวลง


10

ฉันเพิ่งอัพเกรดคอมพิวเตอร์จาก ubuntu 12.10 เป็น ubuntu 13.04 และตอนนี้เมื่อฉันปิดคอมพิวเตอร์ฉันจะไม่ปิดลงอย่างสมบูรณ์ แหล่งจ่ายไฟยังคงทำงานแม้ว่าจะเป็น "ปิด" ข้อเสนอแนะโปรด?


3
คุณสามารถเรียกใช้ใน terminal sudo shutdown -h nowและดูว่ามันปิดเต็ม
Max Tither

ไม่ใช่แฟล็ก "-P" ใช่ไหม [ sudo shutdown -P now]
Omio

3
-h Requests that the system be either halted or powered off after it has been brought down, with the choice as to which left up to the system. -P Requests that the system be powered off after it has been brought down.
Janus Troelsen

Paul: คุณเห็น "ระบบหยุด" บนหน้าจอหรือไม่
Janus Troelsen

1
หากคุณกด CTRL-ALT-F1 เพื่อสลับไปยังเทอร์มินัลข้อความเมื่อเครื่องกำลังปิดตัวลงคุณจะเห็นการหยุดบริการต่างๆ สิ่งที่ทำให้เกิดปัญหาควรเป็นสิ่งสุดท้ายในรายการ CTRL-ALT-F7 กลับไปที่เทอร์มินัลกราฟิก
Jason Morgan

คำตอบ:


2

ฉันปรับเปลี่ยนสคริปต์ที่รับผิดชอบในการส่งสัญญาณการฆ่าด้วยความล่าช้าที่จัดสรร /etc/init.d/sendsigs และลดระยะเวลาที่ใช้ในการฆ่ากระบวนการที่เหลือในการทำซ้ำ 2 ครั้ง มีสุขภาพดีหรือไม่มันทำให้งานเสร็จในระบบของฉันและไม่หยุดทำงานเมื่อปิดเครื่องและรีสตาร์ทอีกต่อไป

ด้านล่างเป็นส่วนหนึ่งของ /etc/init.d/sendsigs พร้อมการแก้ไขที่ระบุโดย # <---:

# Kill all processes.
log_action_begin_msg "Asking all remaining processes to terminate"
killall5 -15 $OMITPIDS # SIGTERM
log_action_end_msg 0
alldead=""
OMITPIDS0="$OMITPIDS"
#for seq in 1 2 3 4 5 6 7 8 9 10; do  # this is the original line
for seq in 1 2; do     # <--- the above line is replaced by this one.

จากนั้นในส่วนล่างของสคริปต์:

# Upstart has a method to set a kill timeout and so the job author
# may want us to wait longer than 10 seconds (as in the case of 
# mysql). (LP: #688541)
#
# We will wait up to 300 seconds for any jobs in stop/killed state. 
# Any kill timeout higher than that will be overridden by the need 
# to shutdown. NOTE the re-use of seq from above, since we already 
# waited up to 10 seconds for them.
while [ -n "$(upstart_killed_jobs)" ] ; do
    seq=$(($seq+1))
    #if [ $seq -ge 300 ] ; then # this is the original line
    if [ $seq -ge 2 ] ; then   # <--- I can't wait for another 300 iteration 
        break
    fi

หมายเหตุ: นี่อาจไม่ใช่วิธีที่ดีที่สุดเนื่องจากสคริปต์ต้นฉบับทำงานบนระบบอื่น ๆ สำหรับระบบเหล่านั้นเช่นของฉันที่โซลูชันที่แนะนำหลายตัวใช้ไม่ได้ - นี่คือสิ่งที่ฉันสามารถแบ่งปันได้เนื่องจากฉันใช้ระบบเป็นเวิร์กสเตชันที่ไม่มีเท่านั้น บริการที่สำคัญทำงานหลังจากปิดแอปพลิเคชันเดสก์ท็อปทั้งหมดที่ฉันใช้ก่อนคลิกที่ไอคอนปิดหรือรีสตาร์ท

ระบบที่ใช้คือแล็ปท็อป Asus X550DP


1

ลองคำสั่ง

sudo shutdown -P now

ในอาคารผู้โดยสาร

หากแม้หลังจากออกอากาศสถานะยังคงทำงานอยู่จากนั้นบังคับให้ปิดเครื่องโดยกดปุ่มเปิด / ปิดค้างไว้ 5 วินาทีเพื่อรีบูตและไปที่

/etc/default/halt

และเพิ่มอย่างแข็งขัน

INIT_HALT = power_off

(ตามที่ระบุโดย mauro ด้านบน) สิ่งนี้จะต้องใช้งานได้อีกครั้งเมื่อปิดเครื่องปกติหรือปิดเครื่องจากเครื่อง



0

ฉันมีปัญหาเดียวกันกับ Macbook Pro ที่ใช้ Ubuntu 13.04 หลังจากความพยายามและความกังวลฉันพบวิธีแก้ปัญหา คอมพิวเตอร์ของคุณทำงานด้วย 2 CPU หรือมากกว่าหรือไม่ ในกรณีของฉันฉันต้องแก้ไขไฟล์กำหนดค่า GRUB2 เพื่อเพิ่มพารามิเตอร์ MAXCPUS = 1 (และกำจัด ACPI = OFF)


0

ฉันเห็นปัญหาเกี่ยวกับสิ่งนี้และ 'ตัวจัดการโมเด็ม' ซึ่งติดตั้งโดยค่าเริ่มต้น

เว้นแต่ว่าคุณกำลังใช้โมเด็มซึ่งไม่น่าเป็นไปได้ในวันนี้คุณสามารถทำได้

sudo apt-get remove modemmanager

ดูความคิดเห็นของฉันเกี่ยวกับการดูความคืบหน้าของการปิดเครื่อง


0

เข้าสู่เทอร์มินัลแล้วพิมพ์ "sudo shut--p now" หากระบบของคุณยังคงค้างอยู่ในการปิดระบบคุณสามารถทำตามวิธีฮาร์ดแวร์ได้ตลอดเวลาและกดปุ่มเปิด / ปิดค้างไว้ประมาณ 5-10 วินาทีและบังคับให้ระบบปิดโดยไม่ได้รับข้อผิดพลาดหรือ "การปิดที่ไม่คาดคิด"



0

ตรวจสอบ BIOS ของคุณว่าเปิดใช้งาน ACPI หรือไม่ ACPI เป็น Advanced Configuration และ Power Interface และใช้เพื่อบอกอุปกรณ์ต่าง ๆ ในคอมพิวเตอร์ของคุณให้ปิด (หรือไม่) ในกรณีนี้ดูเหมือนว่ามีการติดตั้งระบบปฏิบัติการด้วย ACPI ที่เปิดใช้งานและในภายหลังถูกปิดการใช้งาน ฉันถือว่าสัญญาณถูกส่งไปที่ BIOS เพื่อปิดเครื่อง แต่ BIOS ไม่ส่งสัญญาณไปยังอุปกรณ์อื่น ...

ตรงกันข้ามยังเป็นไปได้ (ระบบปฏิบัติการที่ติดตั้งพร้อมกับ ACPI เปิดใช้งานและในภายหลังจะปิดการใช้งาน)




0

นอกจากคำตอบที่ได้รับแล้ว:

  • ลองกดปุ่มEscในระหว่างการปิดระบบเมื่อปรากฏ 'Ubuntu' บนหน้าจอเพื่อเปิดใช้งานการส่งข้อความเทอร์มินัล (ถ้า ESC ไม่ทำอะไรเลยให้ลองF1 , F2หรือรวมปุ่มเหล่านี้กับAlt , CtrlและShift ซ้าย )

    สังเกตว่าระบบหยุดนิ่งหรือช้าเกินไปหรือไม่และระบุว่าข้อความใดถูกแสดงในเวลานั้น

  • ลองคำสั่งต่อไปนี้จากหน้าจอเทอร์มินัล:

    sync; sudo -P shutdown now
    

    หากการปิดระบบเร็วกว่านี้แสดงว่าคุณอาจมีดิสก์อะซิงโครนัสหลายตัวรอการยืนยันเมื่อคุณปิดเครื่อง

    ถ้าเป็นเช่นนั้นคุณสามารถ จำกัด โดยวางcommit=xxในตัวเลือก fstab สำหรับระบบแฟ้มได้รับผลกระทบ (ที่มีxxเป็นจำนวนวินาทีระหว่าง committing เขียนดิสก์)


0

เช่นเดียวกับที่หลายคนแนะนำผมใช้เทอร์มินัลคอนโซล แต่สำหรับหลาย ๆ คนที่แนะนำ Linux หน้าจอสีดำทำให้พวกเขากลัว

ฉันพบทางเลือกที่ใช้งานได้ ฉันติดตั้ง cairo-dock ซึ่งมีปุ่มปิด จนถึงตอนนี้ก็ทำงานได้เมื่อการปิดระบบปกติล้มเหลว


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