AIモデルの学習など長時間のプログラムを動かしているときに、SSHの通信が切れて作業がパーになってしまうことがあるかと思います。
SSH通信が切れてもセッションを保持し続けることができるtmuxというソフトを紹介します。
tmuxとは
tmuxは「terminal multiplexer」の略で、ターミナルの仮想環境を作るものです。
teraterm等では、1つのターミナルで1つのセッションを作り操作しますが、
tmuxでは、1つのターミナルで複数のセッションを作ります。
また、セッション内のウインドウを分割して、1画面に表示することもできます。
(分割したウインドウはペインと呼ばれます。)
tmuxのセッションはプロセスが起動して保持するので、SSHの通信が切れても続きから作業を再開することができます。
AIの学習など長時間のセッション維持が必要なときに、この機能が非常に役に立ちます。
tmuxの導入方法
tmuxはaptコマンドを使ってインストールすることが可能です。
apt install tmux
公式サイトはこちらになります。
tmuxの主要コマンド一覧
tmuxの使い方
tmuxの操作方法について説明していきます。
まず、クライアントPCからサーバにSSH接続した状態からスタートします。
tmuxの起動
tmuxコマンドを使うと、新しいセッションを作成して操作する事ができます。
tmux
新しくセッションを作成されたら、いつも通りコマンドの実行が可能です。
tmuxの終了
作ったセッションを保持したまま、tmuxを終了します。
「ctrl + b」を押した後に、「d」を入力
元のbashに戻りいつものSSHを接続した状態になりました。
もちろんtmuxのセッションは残っています。
tmuxセッション一覧を確認
保持されているセッションの一覧を確認してみます。
tmux ls
セッション0にウインドウが1つあることが確認できました。
tmuxを再開(セッション再開)
保持しているセッションを再開してみます。
tmux a -t 0
再度tmuxが起動し、セッションの続きから操作することができます。
tmuxのウインドウ追加
ウインドウを新たに作成してみます。
「ctrl + b」を押した後に、「c」を入力
新たなウインドウが作成されました。
tmuxのウインドウの移動
先程まで操作していたウインドウ0に戻ってみます。
「ctrl + b」を押した後に、<数字>を入力
ウインドウ0のペインに戻ることができました。
ペインの追加(上下に分割)
新たにペインを作成してみます。
「ctrl + b」を押した後に、「”」を入力
ウインドウが上下に分割され、ペインが新たに作成されました。
ペインの移動
元々いた上のペインに戻ってみましょう
「ctrl + b」を押した後に、<矢印キー>を入力
上のペインに戻り操作が可能になりました。
セッションの追加
tmuxのセッションから一度抜け、tmuxコマンドを使用すると新たなセッションを作成することができます。
「ctrl + b」を押した後に、「d」を入力し、
再度tmuxコマンドを使う。
tmux
新しいセッションのウインドウが作成されました。
ペインの追加(左右に分割)
次は、ペインを横に新たに作成してみます。
「ctrl + b」を押した後に、「%」を入力
ウインドウが左右に分割され、ペインが新たに作成されました。
tmuxの全体構成を確認
「ctrl + b」を押した後に、「s」を入力
矢印キーで操作して、Enterを押せば好きなペインに移動することもできます。
ペインの削除
不要になったペインを削除します。
「ctrl + b」を押した後に、「&」を入力し、「y」を選択
すべてのペインがなくなるとウインドウも削除されます。
セッションも同様で、すべてのウインドウがなくなると削除されます。
まとめ
SSHの接続が切れてもセッションが切れない方法として、tmuxを紹介しました。
長時間のプログラムの実行が必要な際には、ネットワークが切れることでプロセスが落ちる心配がなくなるので非常に便利です。
また、セッションが切れないだけでなく、1つのウインドウで複数セッションを使うことができる便利なツールなので使いこなしていきましょう。
コメント