ssh先で重い処理をする際にtmuxなるものを使ってみよう!
tmuxとはなんぞや?
tmuxは基本的には普通のシェルとはなんら変わりませんが、用途が全く異なるものです。主な用途としてはssh先などでタスクを実行するする際に使います。ただ、これでは普通にssh接続しているシェルでタスクを実行すれば良いと思ってしまうかもしれません。tmuxの素晴らしい点はもしssh接続をしている機器といきなり接続が切れてしまった場合や突然ssh接続をしているシェルを消してしまってもssh接続をしている機器がタスクを続行してくれるところです。
使ってみよう!
まずはインストールです。これはかんたんです、ssh接続先の機器でその環境に合ったパッケージマネジャー(aptやpacmanなど)でインストールします。
Debian系の例 )
$ sudo apt install tmux
インストールができたらあとはssh接続するたびにtmuxとターミナルで入力すれば使えます。また、接続が切れてしまって復活させたい場合は
$ tmux attach
で復活させることができます。また、複数の種類のタスクで分けたい場合は
$ tmux new-session -s 適当な名前
をすることで分けることができます。また、それぞれのシェルを別々に復活させたい場合は
$ tmux attach -t 適当な名前
でできます。
最後に
実は筆者もこれは最近になって知りました。(汗)ただ、結城洋志著のマンガ「シス管系女子」を読んで知り(非常にオススメです!)、Raspberry Pi Zero Wでデバイスドライバを作成する際にカーネルに変更点を加える際に非常に時間がかかった(確か24時間以上)ので、早速使って見たら普段接続が切れてしまい止まっていたのが、tmuxを使ってみたら接続が切れていてもタスクが順調に進んでいたため驚きました。
参照元
Piro (結城洋志).シス管系女子.日経Linux, 2015