I started wondering whether this may have something to do with the numerous programs I use. Whenever you shut down your Mac, OS X will attempt to cleanly exit various programs and background services. Sometimes OS X is waiting for an interaction such as you saving a document, but at other times it is because background services have stopped responding and the system is waiting a predetermined amount of time before forcing them to quit. This can result in your Mac taking exceptionally long for shutting down.
If your Mac is also encountering lengthy shutdowns, there may be a problem caused by some app(s) or some unresponsive background processes. Try the following two fixes to get back a short shutdown time period:
1. Shut Down With ‘Reopen Windows When Logging Back In’:
This process works properly with nearly all of the Macs available in the market today. It’s super easy too, much more simple than the second fix we’d mentioned. Simply follow the following steps to get a quick shutdown on your Mac.
Shut down your Mac with the “Reopen windows when logging back in option” checked:
Now turn your Mac back on.
Now again shutdown your Mac with the ‘Reopen windows when logging back in’ option unchecked:
You should now experience a faster shutdown time. But if this method doesn’t work for you, try the more advanced fix detailed below.
2. Change The Default Time For OS X To Exit Processes
By default, Apple has set OS X to wait for apps and background processes to end on their own. If this is not the case, then after a waiting period of 20 seconds, the system sends a kill signal. And if your Mac is running various processes, this total shutdown times can extend to a number of minutes. An easy fix is changing the default 20 seconds time to a lower value; making your Mac exiting these processes earlier. We’d never recommend forcing quits for apps, as the system is already getting ready for this in shutdown. But this can result in a faster shutdown time, and OS X will forcefully quit these apps after 20 seconds, so why not give it a try.
launchd manages the timeout period for all the processes. By instructing launchd to shorten this time period, you can easily speed up shutdown time periods by a significant amount of time. In the commands below, we’ll be changing the timeout value to 5 seconds, meaning OS X will wait for 5 seconds before forcefully killing processes during shutdown. If you think that 5 seconds is a too short time period, you can change this value to any integer greater than zero. Open a terminal (Application -> Utilities) and type the following commands:
Each of these commands is separate for each of the processes mentioned above. When finished, restart your computer, and then see whether or not this improves your shutdown times. To undo these actions, and return the kill app time to 20 seconds, simply run the commands again but with a value of 20.