bashスクリプトでssh経由で多くのJavaアプリケーションを実行

アラウージョ:

私は、Javaアプリケーションでいくつかの実験を最適化しようとしています。同じアプリケーションは、多くのマシン上にあります。私はsshでbashスクリプトを経由して、それらのすべてを実行したいです。

私が持っているbashスクリプト持つwhileアプリケーションを実行するループを。このような

while [ $COUNTER -lt $WORKERS ]
do
  ssh  ubuntu@host "java java-app.jar" > /data/some-logs.log 
  ((COUNTER++))
  ((IP_BEGINS++))
done

私は、スクリプトを実行したときしかし、私はすべてのマシンのためのモーメントとはCtrl + Cを待たなければなりません。どのように私は、バックグラウンド上のすべてのaplicationを実行できますか?

stringy05:

接頭辞nohupとAPPEND &バックグラウンドで実行するコマンドに。

while [ $COUNTER -lt $WORKERS ]
do
  ssh  ubuntu@host "nohup java -jar java-app.jar > /data/some-logs.log 2>&1 &"
  ((COUNTER++))
  ((IP_BEGINS++))
done

あなたはの引用符とプレースメントの周りにマックが必要になることがあります&あなたの地元のsshを確認リモートsshコマンドをバックグラウンドに取得しにするといません

EDITは - 私はあなたのコメントに基づいて回答を修正しました。また、物事がうまくいかないことかもしれないのヘルプは、同じログファイルに標準エラー出力のリダイレクトを追加しました

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=230656&siteId=1