I am running linux and I am running a script/program in the background using

cmd &

This works fine on Solaris, but on my Linux box (2.6.9-55/ Red Hat), the background process stops when the originating terminal window is closed/loses connection. What do I need to change this, so that this works as it works on Solaris?


You have to use the disown command (it may be specific to bash, not sure about it).


cmd &

should do the trick.

If you want to reattach later the job to the terminal, use:

disown -h

Alternatively, you can use screen. Use it this way:


Then, to go back to the terminal, hit ctrl+a, then d.

To come back to the screen, type in any terminal:

screen -r
  • I think you're wrong about reattachment with disown. Can you prove this performance? – Warner Mar 4 '10 at 14:44

if you run nohup cmd &, so the program will ignore the SIGHUP it gets when the termial closes.

  • This is definitely the solution that works for me. All disown seems to do is remove the process from the jobs list. – Nathan Sep 16 '10 at 17:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.