gpt4 book ai didi

java - 在 bash 脚本中通过 ssh 运行许多 java 应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:30:33 25 4
gpt4 key购买 nike

我正在尝试使用 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。如何在后台运行每个应用程序?

最佳答案

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 重定向添加到同一个日志文件,这可能会在出现问题时提供帮助

关于java - 在 bash 脚本中通过 ssh 运行许多 java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57421936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com