3

i am working on a Linux box (via ssh), which is currently completing a very time-consuming task. How can I go to sleep (close my local terminal windows) without interrupting the execution of that task?

niklasfi
  • 459
  • 1
  • 8
  • 16

2 Answers2

5

If you forgot to use nohup or screen, and you are using bash as your shell, do the following:

  • CTRL-Z (temporarily suspends the process)
  • bg (puts the process into the background)
  • disown (prevents the process from quitting when you disconnect the ssh session/close the window)

Not as useful as screen (especially when the process outputs something), but nice to use when a process unexpectedly takes a long time.

Mark
  • 2,856
  • 20
  • 13
4

The best way would be to use screen to create a detatchable screen run your command then detach, you can then close the original session without issue. The oldschool way would be to use nohup and send it to the background i.e. nohup <command> <args> &

Zypher
  • 37,405
  • 5
  • 53
  • 95
  • screen is definitely the way to go. After detaching the screen, you can reattach it and continue to watch the progress of your task. You can also have multiple windows in a screen, to watch multiple processes. – Weboide Jul 20 '10 at 23:38
  • +1 for screen, amazing tool – natxo asenjo Jul 21 '10 at 10:11