nohup or persistent process on Mac OS X ssh

I know this has been asked before but none of the answers seems to work in OS X Mountain Lion. I would like to launch a process via SSH and close the terminal without killing the process.

nohup ccl64 -e '(ql:quickload :"file")' & 

Doesn't work. When the terminal is closed, the process dies.

nohup ccl64 -e '(ql:quickload :"file")'

Same here.

I think there must be a way. This is very annoying as it works as a standard in any Linux system, yet Mac OS X refuses to work with any of these combinations.


Solution 1:

One thing that always works is screen. http://ss64.com/osx/screen.html it seems to be available on Mac OS X per default.

Edit: http://web.archive.org/web/20130413070916/http://macdevcenter.com/pub/a/mac/2004/07/06/unix_gems.html another tutorial abut screen.

Additionally, here is some quick tips on how to use screen

Open a new 'screen' instance

$ screen

Once, in the screen, you can 'detach' (or close out of it) the screen like this:

ctrl+A and then press D

To resume a screen, you typically do this:

$ screen -x

If you have more than one screen instance, it will tell you their IDs, in which case you can choose which one to resume like this:

$ screen -r <screen id>

Solution 2:

Try screen instead, it should still be part of the default install. Some people even use screen as their default shell so they don't need to worry about nohup at all.