39

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?

3
  • 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, 2013 at 10:10
  • BTW no need to use bg or nohup when using screen. Also this question is related. Aug 15, 2013 at 10:38
  • you make check this thread @ stack overflow stackoverflow.com/questions/285015/…
    – Ashildr
    Aug 15, 2013 at 10:48

4 Answers 4

65

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

0
17

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!

9

At last, I solved it using screen:

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

6

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .