I was trying to shutdown my PC through SSH. I executed
sudo shutdown now
The user was logged-out and Ubuntu starting turning off, but it froze at the last screen with the Ubuntu logo and the loading dots. Any idea where the problem might be?
Also, what's the difference between shutdown
and halt
? What other similar commands are there?
From the MAN PAGES:
Shutdown - "shutdown arranges for the system to be brought down in a safe way. All logged-in users are notified that the system is going down and, within the last five minutes of TIME, new logins are prevented." Time mentioned here is an amount specify by the user that is shutting down.
Halt - "These programs allow a system administrator to reboot, halt or poweroff the system."
The difference is that Halt can be more "aggressive" when shutting down than Shutdown itself. It has parameters than can literally force the system to shutdown without regarding services or opened programs. If you run halt without any parameters it will simply execute the shutdown command. Something like an alias. If you run it for example with the parameter
--force
it will "force" the system into a reboot really fast.In the case of halt or shutdown, they will wait for all processes to finish correctly before turning the PC off or rebooting. If a service or app does not close or does not close properly you will see what you mention there (The ubuntu logo with the dots).
The proper way in the terminal for a single user or multi user is shutdown. But if the shutdown is not working verify what services you have running and which one is causing the slowness or freezing of the shutdown.
With that in mind, there are several ways to reboot or shutdown the system:
Rebooting -
shutdown -r
,reboot
In this case, reboot is simply calling
shutdown -r
.Shutting Down -
halt
,shutdown
,sudo init 0
,shutdown -h now
,poweroff
In this case,
poweroff
is the same as callingshutdown -P
As you have noticed, The
shutdown
command can do a lot of stuff, here is a small list of it:As does the
reboot
There is however a difference between shutdown down through the terminal and clicking on the Shutdown option in Unity. The latter will ask the user for interaction with any unsaved work (like libreoffice, inkscape...). the former will simply send a signal to all processes telling them to close. No user interaction will be needed so any unsaved work will be gone.
What you need to do is power off the computer after it shuts down by running the command below:
One another command for shutdown system is
sudo init 0
init 0 calls all of the shutdown scripts and gracefully shuts down your machine.
or
Create a script:
Depending on hw, sw and configuration, the hang on could be do to anything. During shutdown, try to press the DOWN key, so the fancy graphics gives way to the system console and you can see what's going on.