caffeinate for a long time, but I found a new use today that prompted me to write about it.
For those you don’t know,
caffeinate is a command line tool that prevents your Mac from going to sleep. From it’s
caffeinate creates assertions to alter system sleep behavior. If no assertion flags are specified, caffeinate creates an assertion to prevent idle sleep. If a utility is specified, caffeinate creates the assertions on the utility’s behalf, and those assertions will persist for the duration of the utility’s execution. Otherwise, caffeinate creates the assertions directly, and those assertions will persist until caffeinate exits.
Let’s say you need to run a long task, like restoring a DB in postgres with
pg_restore. The way you use
caffeinate would be to run:
$ caffeinate -i pg_restore database database.dump
But let’s say you forgot to run
caffeinate and your process has already been running for too long to cancel and restart. Before today, my approach was to use Caffeine to prevent the Mac from going to sleep. However, there’s a second way to invoke
$ caffeinate -i -w 12345
12345 is the pid of the process you want to finish without the Mac going to sleep.