Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have the same question as here but even beyond that.

If I logout/exit the SSH connection, I need my program running in background. Before exit, I type bg and jobs to check background running task, but after exiting SSH, the program doesn't run, it closes when I close the SSH window.

What can I do if I want my program still running after closing the SSH window? I do use nohup screen but it also doesn't work, or am I missing something?

share|improve this question
    
Welcome to Super User! Please don't put your answer into the question. Post it as an answer below once you can (in about 7 hours) using the Answer your question button. Thank you. (Also note that there's no need to add <br/>s to your post. Just make paragraphs as needed. And while you're at it, please use proper capitalization. It makes your posts easier to read.) –  slhck Aug 15 '13 at 10:10
    
BTW no need to use bg or nohup when using screen. Also this question is related. –  justbrowsing Aug 15 '13 at 10:38
    
you make check this thread @ stack overflow stackoverflow.com/questions/285015/… –  Ash Aug 15 '13 at 10:48
add comment

4 Answers 4

up vote 4 down vote accepted

When you use screen you need to detach with CTRL+A+D before you exit ssh.

Alternatively, if you want to run a process directly with screen you can use

screen -dmSL [session name] [commands]
  • -d starts a screen session and immediately detaches from it
  • -m forces creating a new screen session
  • -S lets you give the session a name
  • -L turns on logging to ~/screenlog.0

example:

screen -dmSL workstuff myscript.sh

You can then either:

resume later using screen -x workstuff

or

check the log file less -r ~/screenlog.0

share|improve this answer
add comment

Use tmux. I'm not even sure if screen is even still under active development. It's kind of a preference thing, but as someone who uses tmux, I can testify that it set up in about 5 minutes, and worked perfectly.

On a Debian-based system (on the remote machine):

sudo apt-get install tmux

then enter tmux to enter, run whatever process you need, and hit Ctrl+B then D (this leaves the tmux session). Then, you can log out of SSH.

When you need to come back/check on it again, start up SSH, and enter tmux attach. It will take you back to your tmux session.

tmux has many more capabilities, as detailed here. But, this should solve your immediate problem.

Good luck!

share|improve this answer
add comment

nohup use: The first of the commands below starts the program abcd in the background in such a way that the subsequent logout does not stop it.

$ nohup abcd &

$ exit

share|improve this answer
add comment

At last, I solved it using screen:

In screen mode, detach it using CtrlAD. Then you can close the SSH window.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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