すいません、来週までには終わらせます。

クソザコ理系大学院生の日々の日記や妄想を書き綴る思考のゴミ置場

screenコマンドの使い方

どこかのマシンにssh接続して作業をしていると、 長い計算途中でネットワークの問題でsshが途切れたり、 計算が終わるまで家に帰れなくなったり。
そういう時にscreenコマンドが非常に便利。 覚えたてだから説明が間違ってるかも。

screen コマンドとは

screenはUNIX/Linux系OSの画面管理ソフトウェア screenコマンドにより仮想端末を生成することでその仮想端末上のウィンドウで様々な作業を行うことが可能となる。

簡単な使い方

書こうとすると長くなるから本当に基本的なことだけ

セッションの開始

screen
セッションが開始されると自動的に画面が切り替わりシェルが実行される。
また
screen -S session_name
でセッションに名前をつけることができる。

セッションのデタッチ

Ctrl-aと打ってd
これで今いるセッションから離れ最初にいた端末に帰ってくる。

セッションの確認

screen -ls
セッション一覧を表示

セッションにアタッチ

screen -r
でセッションにアタッチ。
複数のセッションがデタッチされていた場合、screen -lsでセッションのidを調べ、
screen -r id
とする。
セッションに名前をつけていた場合、
screen -r session_name でもo.k



最低限これらさえ覚えておくだけでだいぶ作業が楽になる。
一度デタッチしてしまえば、接続先のマシンの電源さえ切れなければ、
こっちの端末はネットから切断されようが電源を落とそうが
問題なくセッションは稼働する。


これで大量のデータ解析をさせたままパソコンを閉じて家に帰れる。

2018.6.5 追記

セッション中に
exit
でセッションを終了できます。