質問: AWSのEC2でg2.2xlargeインスタンスを機械学習の勉強のために使っています。 インスタンスにTera Termで接続して使っているのですが、プログラムを実行してからスリープ状態にするとTera Termが切断され、再びTera Termでインスタンスへ接続するとプログラムの実行が終了しています。 これではノートパソコンをずっとつけっぱなしにしておかなければならず、非常に不便です。 Tera Termからインスタンスへの接続が切断されても、AWS上でプログラムの実行が行われるようにすることはできないのでしょうか。
回答: ターミナルマルチプレクサ(tmux、screen)というものを使用するとよいです。 「ターミナルマルチプレクサ」検索 * OSに何を使用しているかわからないのでとりあえずRedhat系と想定。 * 以前はscreenを使用していたが、現在はtmuxを使用しているのでtmuxの使用例をあげる。 インストール ``` $ yum install tmux ``` 実行(仮想コンソールに接続した状態になる) ``` $ tmux ``` プログラム起動などの自分のお仕事をおこなう。 プログラム実行中の状態で仮想コンソールから切断する場合、 `Ctrl+b`を押して`d`を押す。 この時点で仮想コンソールでのプログラム実行状態はバックグランドで存在し続けている。AWSのOSからログアウトしても存在し続ける。 AWSのOSにログインし直してから以下のコマンドを実行すれば、バックグランドで動作している仮想コンソールに再接続できる。 ``` $ tmux attach ``` キー操作は`Ctrl+b`を押して`?`を押すと一覧表示できます。