screenの使い方!
実に10年ぶりくらいぶりにマシンをつけっぱなしにできない状況になったので、改めてscreenを再勉強。
screenの特徴は、一つのターミナル画面上で番号の切り替えで多数のセッションを作ることだけど、もう一つの特徴として「セッションはバックグラウンドで走っているのでそのターミナルを殺しても生き残る」というのがある。
ので、手元のマシンからsshで計算サーバにログイン、計算を回すという状態のときに
i) 計算サーバでscreenして新しい仮想ターミナルを作成、ログイン
ii ) 計算ジョブを投げる
iii) screenしたターミナルから抜ける
と、あとはsshが切れても計算サーバ上では ii) のジョブが生き残ってくれる。
で、後日改めて計算サーバ上でscreenしていたターミナルにログインすれば計算結果が回収できるというわけ。
portforwarding + autossh + sshfsと合わせて利用するので、ここで必要なコマンドを備忘録的にメモ。
新しいスクリーンを始める:
screen
スクリーンから離れる: detach from screen(殺さないで親ターミナルにもどる)
Ctrl-a d
入れ子でスクリーンするとわかりにくいので、新しくスクリーン作るときはいちいちスクリーンから離れて、親ターミナルに戻ったほうが良さげ。
今あるスクリーンを調べる: list screens
screen -ls
スクリーンのIDが並びます
指定のスクリーンに戻る: resume screen
screen -r ID
スクリーンを殺す
exit
ただのターミナルなのでね