10

I have just upgraded my computer from ubuntu 12.10 to ubuntu 13.04, and now when I go to turn off my computer, it will not shut down fully. The Power supply keeps running, even when it is "off" Any suggestions please?

8
  • 3
    You could run in the terminal sudo shutdown -h now and see if it full shuts off.
    – Max Tither
    Jun 13, 2013 at 16:07
  • Isn't the flag "-P"? [ sudo shutdown -P now ]
    – Omio
    Jun 24, 2013 at 15:13
  • 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. Jun 30, 2013 at 17:47
  • Paul: do you see "system halted" on the screen? Jun 30, 2013 at 17:48
  • 1
    If you press CTRL-ALT-F1 to switch to a text terminal when the machine is shutting down you can see the various services stopping. The one causing the problem should be the last in the list. CTRL-ALT-F7 returns to the graphical terminal.
    – Jay M
    Aug 4, 2013 at 13:30

13 Answers 13

2

I modified the script responsible for sending the kill signal with allocated delay, /etc/init.d/sendsigs, and reduce the amount of time it does to kill the remaining processes in 2 iteration. Healthy or not it gets the job done on my system and is no longer hanging on shutdown and restart.

Below is a portion of the /etc/init.d/sendsigs with modification indicated by # <--- :

# 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.

then on the lower part of the script:

# 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

NOTE: This may not be the best solution since the original script is working on other systems, for those systems like mine where several suggested solutions did not apply - this is what I can share considering I am only running the system as a workstation with no critical services running after closing all the desktop applications I use before clicking on the shutdown or restart icon.

System in use is an Asus X550DP laptop.

1

Try the command

sudo shutdown -P now

in the terminal.

If even after broadcast, the state remains active, then force shutdown by holding the power key pressed for 5 seconds reboot and go to

/etc/default/halt

and forcefully add

INIT_HALT = power_off

(as pointed by mauro above) this must work again with the normal shutdown or shutdown from the terminal.

0

it might be a bug.Please check the link below:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1010981

0

I had the same trouble with my Macbook Pro running Ubuntu 13.04. After some tries and worries, I found a workaround. Does your computer run with 2 CPUs or more? In my case I had to edit the GRUB2 config file in order to add the parameter MAXCPUS=1 (and get rid of ACPI=OFF).

0

I've seen problems with this and 'Modem Manager' which is installed by default.

Unless you are using a modem, which these days is unlikely, you can

sudo apt-get remove modemmanager

See my comment about viewing the progress of shutdown.

0

enter terminal, and type "sudo shutdown -p now". If your system still hangs on shutdown, you could always do it the hardware way, and hold your power button down for 5-10 seconds, and force the system to shutdown without getting an error or "Unexpected shutdown".

0

Try opening Terminal and typing sudo shutdown now or sudo poweroff. You will need to enter your administrator password.

0

Check your BIOS if ACPI is enabled. ACPI is the Advanced Configuration and Power Interface and is used to tell the different devices in your computer to shut down (or not). In this case it seems that the OS is installed with ACPI enabled and later is was disabled. I assume the signal is send to the BIOS to shut down, but the BIOS does not send the signal to the different devices...

The opposite is also possible (OS installed with ACPI enabled and later it is disabled).

0

Try running this command in terminal sudo shutdown -h now Guess that should help.

0

Try adding

INIT_HALT=poweroff

to

/etc/default/halt

this worked for me in 13.10

0

In addition to the answers already given:

  • Try Pressing the Esc button during the shutdown when 'Ubuntu' appears on the screen to enable terminal messaging (if ESC does nothing, try F1, F2, or combining these keys with Alt, Ctrl and Left Shift).

    Observe where the system appears to be hanging or too slow, and state what messages were shown at the time.

  • Try the following command from a terminal screen:

    sync; sudo -P shutdown now
    

    If shutdown is faster, then you probably have a several asynchronous disk writes waiting to be committed when you shutdown.

    If so, you can limit this by placing commit=xx in the fstab options for the affected filesystem (with xx being the number of seconds between committing disk writes).

0

Like many has suggested, I used the terminal console, but for many who I have introduced Linux, the black terminal screen scares them.

I found an alternative that also works. I install cairo-dock which has a shutdown button. So far that one has worked when the regular shutdown failed.

0

Just do:

sudo poweroff

or logout and then choose power off.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .