LoginSignup
238

More than 5 years have passed since last update.

screenコマンドの要点

Last updated at Posted at 2015-06-10

linuxサーバーにSSHログインして何か作業をしていて、突然通信が途絶えたり、PCの電源が落ちたりすると、実行中の処理が中断されてしまいますが、screenを使うとそういう不安から開放されます。

詳細はmanに書いてあるので、ここでは最低限覚えておくといい事だけを書きます。

用語

語句 意味
セッション screenが作る仮想端末。1つのセッションの実体は1つのscreenプロセス。
ウインドウ セッション内での仮想的なウインドウ。1セッションに複数作って、切り替える事ができる。ウインドウの実体はscreenプロセスの子プロセスとして動作するシェル。
デタッチ セッションから切断すること。デタッチしてもセッションは生き続ける。
アタッチ デタッチしたセッションに再接続すること

基本的な操作

新しいセッションを作る。

.bash
$ screen

セッションからデタッチする

.bash
# Ctrlを押しながらa、その後d(Ctrlは離して)
Ctrl-a d
# またはCtrlを押しながらa、その後d(Ctrlは押したまま)
Ctrl-a Ctrl-d

既に存在するセッションを一覧表示

$ screen -ls

#すると、こんなのが表示される。
There are screens on:
	16472.pts-1.1hz	(Detached)
	17496.pts-1.1hz	(Detached)
# 数字はpid。アタッチするときに使う。

他のだれもアタッチしてないセッションにアタッチ

.bash
$ screen -r <pid>
# もし、セッションが1つしかないなら
$ screen -r
# でもOK

セッション内で新しいウインドウを作る

.bash
Ctrl-a c
# または
Ctrl-a Ctrl-c

直前に表示していたウインドウに切り替える

.bash
Ctrl-a Ctrl-a

次のウインドウに切り替える

Ctrl-a n
# または
Ctrl-a Ctrl-n

前のウインドウに切り替える

Ctrl-a p
# または
Ctrl-a Ctrl-p

セッション内のウインドウを一覧表示する。
一覧ではj,kキーで表示するウインドウを選択出来る。

.bash
Ctrl-a "

現在のウインドウに名前をつける

.bash
Ctrl-a A

現在のウインドウを閉じる

.bash
Ctrl-a k

他の誰かにアタッチしてるセッションを横取り

.bash
$ screen -d -r <pid>

コマンド

Ctrl-:と入力するとコマンドを受け付けるモードに入ります。
コマンドによってscreenの挙動を変更することができます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
238