【Tera Term】ブロードキャストコマンドで複数の画面に違うコマンドを同時実行する方法

技術

とあるシステム開発の試験で、複数の Tera Term 画面に対して、
それぞれコマンドを同時に実行したい(競合を起こしたい)というケースがありました。

「同じ」コマンドを同時に実行する方法については、
少し調べるとすぐにブロードキャストコマンドを使う手順が見つかります。
しかし、実行したいコマンドが「違う」コマンドとなった途端、情報はなかなか見つかりません……。

今回は、ほんの少しの発想の転換で解決できたので、
備忘録も兼ねてその方法をまとめます。

ブロードキャストコマンドとは

ブロードキャストコマンドとは、複数の Tera Term 画面に対して、
同じコマンドを同時に送信・実行できる、Tera Termに備わっている機能です。

一般的には、複数のサーバに対して共通の設定を行う場合や、
同じタイミングで状態確認を行いたい場合など、同一のコマンドを一括で実行したいときに利用されます。

同じコマンドを複数画面で同時に実行する方法

操作手順

同じコマンドを複数の Tera Term 画面で同時に実行する手順は、次のとおりです。

1.同じコマンドを実行したい Tera Term のウィンドウを開く。
2.任意のウィンドウで、メニューバーから「コントロール > ブロードキャストコマンド」を選択する。

3.ブロードキャストコマンドの設定画面(上図)が表示されるので、
  同時にコマンドを実行したいウィンドウをすべて選択する。
4.上部の入力欄(赤枠)に実行したいコマンドを入力後、「送信」を押すと、
  選択したすべてのウィンドウで同じコマンドが実行される。

実行例

例として、複数のサーバで同時にディスク使用状況を確認する場合です。

# df -h

ブロードキャストコマンドを使用することで、
選択したすべての画面で同時にディスク使用状況を確認できます。

複数の画面で違うコマンドを同時に実行する方法

操作手順

1.それぞれの画面で実行したいコマンドを入力した状態にする。
  ※この時点ではコマンドの入力のみで実行はしない

# grep -rn "hoge"
# find -name hoge.txt

2.すべての画面でコマンドの入力が完了したら、
  任意のウィンドウでメニューバーから「コントロール > ブロードキャストコマンド」を選択する。

3.ブロードキャストコマンドの設定画面が表示されたら、
  同時にコマンドを実行したいウィンドウをすべて選択する。
4.中部の「リアルタイム」(赤枠)にチェックが入っていることを確認し、
  「送信」を押すと、各ウィンドウで入力したコマンドが同時に実行される。

実行例

ここでは、2つの Tera Term 画面で異なるコマンドを同時に実行する例を示します。

# grep -rn "hoge"
# $ find . -name hoge.txt

ブロードキャストコマンドの画面で「送信」を押すことで、
選択したすべての画面で同時にそれぞれ事前に入力したコマンドが実行されます。

まとめ

Tera Term のブロードキャストコマンドは、
複数の画面に対して同じコマンドを同時に実行するための機能として知られています。

しかし、各画面にあらかじめ異なるコマンドを入力しておくことで、
違うコマンドどうしであっても、それらを同時に実行することが可能です。

この方法を使えば、試験や検証環境などで意図的に競合状態を発生させたい場合や、
複数の処理を同時に走らせたい場合にも柔軟に対応できます。

本記事で紹介した手順が、
Tera Term を使った検証作業の効率化や発想のヒントになれば幸いです。

コメント