tmux めちゃ便利
ネタが無いので、いまさらながら blog に書いてみる。
私の環境ではRaspberryPiを用いて複数のAssettoServerを稼働させている。
都度メンテナンスを行うために停止/起動の作業が発生する為、 tmux上にて運用してます。
合計6セッションを同時に動作させてますが、快適に動作してます。
- AssettoServer : 4セッション
- 通知処理 : 2セッション
tmux って?
ターミナルマルチプレクサです。 使用する事でターミナルを終了してもセッションが維持される便利機能。
Serverなどリモートにて動作させている環境において SSH接続し、フツーにアプリ起動させた場合、SSHを切ると アプリも終了しちゃいます。
OSのアップデートやアップグレード、ソフトウェアのビルドなど 処理に時間がかかる場合などSSHを切断しても動作継続してほしい場合に使用します。
裏で動いているので、再度SSHなどにて接続する事で継続して作業を行う事が可能となる。
Service 使えばいいんじゃね?
Server起動時にサービスにて自動実行するのも良いのですが、 都度実行するソフトウェアの場合、サービスに組込むのは難しいので ちょっと実行したいけど、SSHなどを接続し続けるのはちょっとという場合に使用します。
準備
しれっと既にインストールされている可能性もあるので、 コンソールからコマンドを叩いてみる
tmux -V tmux 3.3a
上記のようにtmuxのVersionが表示されればインストール済み。 "tmuxってコマンド存在しないよ"ってerrorが表示された場合は 別途インストールを行う必要あり。
Install
環境に応じてinstall方法は変わるので 公式サイトを確認しインストールする。
基本的な使い方
linux アップデート作業を例とします。
- 遠隔にて操作したい対象へssh接続する
- tmuxを起動する
tmux
- tmuxが起動すると、画面がちょっと変わるはず。
- アップデートを実行
sudo apt update -y
- コマンド実行したら、一旦tmuxを抜けてみる "ctrl+b"を押したのち、"d"を押すとコンソールに戻る。
- tmuxへ戻る
tmux a
- tmuxを終了させる場合、tmuxコンソール上にて
exit
と入力しエンターを押す事で終了となる
コマンドなど
"tmux"にてネット検索すると山ほど情報が出てくるので、そちらを参照。 杜甫々さんのpageが分かりやすい。(有難う御座います)
コマンドは最低限以下の項目が分かれば十分です。 * 起動 / 終了 * 中断 / 復帰 * セッション名変更 * セッション移動
どこからでもメンテが出来るので非常に便利。 おためしあれ。