我正在嘗試使用 Java 應(yīng)用程序優(yōu)化一些實驗。同一個應(yīng)用程序在許多機器上。我想通過帶有 ssh 的 bash 腳本運行所有這些。我有一個 bash 腳本,它有一個while循環(huán)來運行應(yīng)用程序。像這樣while [ $COUNTER -lt $WORKERS ]do ssh ubuntu@host "java java-app.jar" > /data/some-logs.log ((COUNTER++)) ((IP_BEGINS++))done但是,當我運行腳本時,我必須稍等片刻,然后為每臺機器按 Ctrl+C。如何在后臺運行每個應(yīng)用程序?
1 回答

慕斯王
TA貢獻1864條經(jīng)驗 獲得超2個贊
加上前綴nohup并附加到&命令,這將在后臺運行它。
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
將 stderr 重定向添加到同一個日志文件,這在出現(xiàn)問題時可能會有所幫助
添加回答
舉報
0/150
提交
取消