#目的
- linuxコマンドであるscreenに関して記入する
- linuxやshellscript初心者向けの記事、プロフェッショナルには向かない記事になる
- ビルドを裏で実行し開発環境がlinuxのすべての人の睡眠時間を長くする
#この記事のターゲット
- 開発環境にlinuxを用いるすべての方
- Tera Termn等のリモートログオンクライアントを用いてlinuxで作業を実施してる方
- リモートでlinuxに入り、ビルドなどの長時間高負荷作業を実施している方
- 業務でlinuxを使用されている方
- linux初心者の方
#screenコマンドとは
簡単に説明すると、ターミナル画面をもう一増やすようなイメージ
リモートログオンクライアントではバックグラウンド実行しているようなイメージ
#考え方
リモートでscreenを実行する時のイメージは「バックグラウンド実行用にもう一つ世界を作ってあげる」である
パラレルワールド(平行世界)を作る感じである
#流れ
リモートでscreenコマンドを実行したときの流れを記載する
※分かりやすいように通常ターミナル画面(コマンド打つ画面)を「現実世界」、screenコマンドにて作成されるセッション(バックグラウンド実行するところ)を「平行世界」と呼称し説明する
現実世界で平行世界の名前を指定し、平行世界を作ってあげる
↓
名前を指定した瞬間平行世界に飛ばされる
↓
ビルドなどの高負荷作業の実行
↓
平行世界から現実世界へ戻る
↓
現実世界のウインドウをとじても平行世界の作業は実行され続ける
↓
平行世界の作業結果は現実世界にも反映される
#基本形
$ screen [オプション]
#これさえ知っておけばとりあえずscreenが使いこなせるコマンド集
- 平行世界を作るオプション
$ screen -S 「平行世界の名前」
例) $ screen -S miriwo
→「miriwo」という名前の平行世界が作成される
sceenコマンドで最初に打つコマンド
バックグラウンドで作業する場所を作ってあげよう
同じ名前をつけてもOK→名前の後に数字がつき、その数字で見分けられる
- 平行世界の状態を確認するオプション
$ screen -ls
screenで作った世界がどの様な状況か確認できる
-
平行世界から現実世界へ「一時的に」戻ってくる方法(デタッチ)
「ctrl」+「a」押した後に「d」
「デタッチ」と呼ばれる方法
ビルドやスクリプトを動かしてリモートターミナルを閉じたいときに使う
この方法で通常世界に戻れば平行世界でも作業がどんどん進む -
すでに存在する平行世界に行くオプション
$ screen -r 「平行世界の名前」
例) $ screen -r miriwo
→平行世界「miriwo」に行くことができる
3.の方法で一時的に平行世界を抜けたときに使うオプション
主に高負荷作業終わったかなーとログを見に行くときに使う
- 平行世界を閉じる
「ctrl」+「d」
作成した平行世界を完全削除する
完全削除するため、平行世界で行われている作業も必然的に止まる
3.の一時的な帰還と押すキーが似ているため注意が必要!
3.と5.を実行する際は間違えないように注意すること
#まとめ
- screenコマンドを駆使すればリモートターミナルを閉じても作用が実行され続けるため、帰宅時に自分のPCをシャットダウンする際にも使える
- 業務終了時間近くに高負荷長時間作業の「かけ逃げ」が実施できる。(エラーで作業が止まることはもちろんあるので、計画的に予定に余裕をもって、かけ逃げをすること)
時間を有効活用して早く帰宅したくさん寝よう!!