mac pro going to sleep on nohup
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.
You can use pmset
to temporarily prevent mac from going to sleep.
pmset noidle & PMSETPID=${!};sleep 10; kill $PMSETPID
Replace sleep 10
with your command.
You can also write a function and save it to .bash_profile
.
insomnia() {
pmset noidle &
PMSETPID=$!
$($@)
kill $PMSETPID
}
and use it like this:
$ insomnia sleep 10
I recommend to use screen
instead of nohup
.
Edit: on newer Macs you should use caffeinate
as described by Graham Miln. pmset noidle
still works, but since 10.9 it is marked as "deprecated" in the documentation.