Archive for 1月, 2007

1月 26th, 2007

rshをバックグラウンドで? 行する

Posted in Linux by admin

 ひとつのホストからrshで? 数のリモートホストに対して長時間駐屯するコマンドを発? する時、リモートホストコマンドもローカルホストコマンドもバックグランドでコマンド実行する必要がある。これがうまぜ 動作していないと、連? で同時ぜ rshコマンドが発? され、以? のようなエラーが発生することがある。

poll: protocol failure in circuit setup

 この場合、バックグラウンドで? 行したrshコマンドが単にリモートホスト上でバックグラウンドで? 行されているだけで、ローカルぜ rshは? 了していない状態になっている可能性がある。これに対応する為、以? のようぜ rshのコマンドオプション、リモートホスト上コマンドのリダイレクト指定を修正してやればいい。-n オプションを使うと、特朮 デバイ゜ /dev/nullから入力を圏 け圏 る為、sh をローカルマシンのバックグラウンドで? 行できるようになる。さらに、リモートマシン側の入出力のリダイレクト指定は、rsh にデータの? れが無いのでセッションはもう終了したと思゜ せることができる。

# 修正前
$ rsh rhost1 -l user1 "vmstat 10 360 > vmstat.log &" &
# 修正後
# sh
$ rsh rhost1 -n -l user1 "vmstat 10 360 > vmstat.log 2>&1 </dev/null &" &
# csh
$ rsh rhost1 -n -l user1 "vmstat 10 360 >&vmstat.log </dev/null &" &