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.