長時間かかる作業をSSHなどで行うときに使うと安全なコマンド。
screen
上で作業を実行してそれを切り離ししておけば、突然接続が途切れてもまた接続すれば何事もなかったかのように作業再開できる。
新規セッション作成
Terminal
screen
新しいセッションが作られ、画面がそちらに切り替わる
Terminal
screen -S foo
とすると foo
という名前のセッションが作られる。
セッション切り離し
<Ctrl>
+ a
の後に d
を押してそのセッションを切り離して抜けることができる。
これでSSHが閉じてもこのセッションは生き残ることができる。
セッション一覧確認
Terminal
$ screen -ls
There are screens on:
3265147.pts-4.rpi4b (2025年04月01日 22時23分34秒) (Detached)
3265069.pts-4.rpi4b (2025年04月01日 22時23分24秒) (Detached)
3263746.foo (2025年04月01日 22時22分10秒) (Detached)
3 Sockets in /run/screen/S-azumeeeeer
ここからセッションのIDなどを確認することができる。
なお、セッションを作った際に名前を付けた場合はその名前をIDとして使うことができる。
セッション接続
Terminal
screen -r セッションのID
切り離したセッションに接続し、作業を再開することができる。
この記事書いた後に byobu
の存在を知った。
byobu
のほうが使いやすそうなのでそっちをつかおう。