Mac pro going to sleep on nohup

sleep-wakessh

I have the following scenario. I have shell scripts that I want to run remotely on my mac pro, so I ssh in, launch them with nohup, and log out. I've done this for years on linux based machines, and I just started trying it out on the new mac pro. However, I find that the mac goes to sleep while these are running, and it takes much longer to finish. Obviously I can disable sleep in the energy preferences, but there are definitely times when I want it to let it power down. Is there anything I could do, in terms of a command line argument, that would disable sleep while the process was running?

Best Answer

caffeinate your scripts

Use the OS X built-in caffeinate command to prevent your Mac going to sleep. caffeinate is the recommended way of lodging a temporary restriction against your Mac entering a low power state.

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.