You do not mention if this is running as an X app or a console app.
If it's as a console app, of course it needs to close. You got rid of it's input/output, more technically the (pseudo) tty it was on. It's very unlikely this is what you meant, so let's assume you're talking about an X app.
nohup
should work, not sure why it isn't. When the shell closes, it sends SIGHUP
to all processes in its process group. nohup tells the command to ignore SIGHUP.
You can also try setsid, which disconnects the process from the process group
alias emacs='setsid emacs'
Or add disown
after &
Ah, great setsid works.
Sorry about not being clear. Yes I'm referring to X apps that do not actually run in the shell. Basically, I want to start up emacs (or any other process) from the shell, but I don't want it in any way tied to the shell. I'm just starting it there for convenience. – sligocki – 2010-08-04T18:48:41.550