toolserver:Screen
This page was moved from the Toolserver wiki.
Toolserver has been replaced by Toolforge. As such, the instructions here may no longer work, but may still be of historical interest.
Please help by updating examples, links, template links, etc. If a page is still relevant, move it to a normal title and leave a redirect.
Getting started |
---|
screen
provides a persistent "virtual terminal" that you can run command-line programs in. This avoids the problem where you log off, or your session is interrupted for some reason, and all the programs you were running exit. If you run the programs under screen, you can simply detach the screen session, log off, then reconnect later and attach it to get your programs back.
Note: while it's possible to start a tool under screen
and leave it running, this is not the right way to start tools. Once you've got the hang of using screen, see job scheduling#Running jobs under screen to see how to submit screen
-based jobs.
Quick-start
[edit]Log in to a terminal on one of the login servers.
Type
$ screen
at a terminal. You will get a new shell prompt, running inside screen. Now run your program here. When you want to log off, type CTRL+A CTRL+D
to detach screen. You will see:
[screen detached]
and you're back at the old shell prompt. Now log off; your programs will continue running in screen's virtual terminal. When you want to get them back, log in again and run
$ screen -r
This will resume the detached screen.
To terminate a screen session, resume it with screen -r
and then press CTRL+A CTRL+\
to kill all windows, or simply exit the shell (by typing exit
or CTRL+D
at the shell prompt) and screen will exit automatically.
If you run many screen sessions simultaneously, it can be helpful to name them.
$ screen -S operation1
To resume such a session:
$ screen -r operation1
Other features
[edit]- Opening multiple windows
- Type
CTRL+A c
. A new screen will open. You can switch between screens withCTRL+A #
, where # is the screen to switch to (starting from 0). All screens under the same session are detached and reattached together. - List all open windows
- Type
CTRL+A w
. - Start a screen detached
- Use
screen -d -m command
and the screen will start with your command running in it, but will not be attached.
For a detailed overview of screen, see the manual page screen(1)
.
Always use screen on login
[edit]By changing your ~/.bash_profile
to somewhat like
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
exec screen -D -R
you will always reattach to the same screen session (or create a new one if there's no screen running). With CTRL+C d
you will detach the screen and log out. Use CTRL+d
or type exit
to close a screen. With the last screen closed you will log out.