≡ Menu

How to Prevent & Disable Mac OS X From Sleeping From the Command Line Terminal Application

I‘m running a process to complete backup and covert images in Mac OS X laptop. I do not wish to disable sleep manually from my OS X power options (Energy Saver). How do I temporarily prevent a Mac from sleeping while my process is still active in Mac OS X Unix operating systems? How can I prevent the system from sleeping temporarily from the command prompt?

You can use the caffeinate command. This command creates assertions to alter system sleep behavior. If no assertion flags are specified, caffeinate creates an assertion to prevent idle sleep.

Another option is to use the pmset command to manipulate power management settings.

Fig.01 Prevent System Sleep While a Safari Command is Active in Mac OS X

Fig.01 Prevent System Sleep While a Safari Command is Active in Mac OS X

Syntax

The syntax is:

caffeinate
caffeinate [options]
caffeinate [options] command

Examples

Let us see how to use the caffeinate command. Open the Terminal application and use the command as per your need.

Prevent the display from sleeping

$ caffeinate -d

Prevent the system from idle sleeping

$ caffeinate -i

Prevent the disk from idle sleeping

$ caffeinate -m

Prevent the system from sleeping when system is running on AC power

$ caffeinate -s

How do I declare that user is active?

$ caffeinate -u vivek
$ caffeinate -u vivek wget url

If the display is off, this option turns the display on and prevents the display from going into idle sleep. If a timeout is not specified with the -t option, then this assertion is taken with a default of 5 second timeout.

How do I set timeout?

$ caffeinate -t 60
You can specifies the timeout value in seconds for which this assertion has to be valid. The assertion is dropped after the specified timeout. Timeout value is not used when an utility is invoked with this command (120 seconds time out is not valid as wget command invoked):
$ caffeinate -t 120 wget url

Prevent sleep as long as given process is running

In this following example, caffeinate command forks a process, execs “make” in it, and holds an assertion that prevents idle sleep as long as that process is running:

caffeinate -i make
 
# Avoid disk from idle sleeping
caffeinate -m wget url
 
# Avoid display from idle sleeping while watching netflix (just in case)
caffeinate -m /Applications/Firefox.app/Contents/MacOS/firefox-bin https://netflix.com

Not a fan of command line?

  1. Click on Apple menu > System Preferences, then click Energy Saver.
  2. Drag the slider that controls the computer’s sleep to Never.
  3. When done again restore to the defaults.
Fig.02 Prevent your Mac from sleeping using GUI method

Fig.02 Prevent your Mac from sleeping using GUI method

Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:



{ 0 comments… add one }

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">


   Tagged with: