首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在shell脚本中一次运行一个命令

在shell脚本中一次运行一个命令
EN

Stack Overflow用户
提问于 2012-12-29 22:22:22
回答 2查看 303关注 0票数 0

我使用的是Mac OS和zsh。我正在运行一个shell脚本,该脚本启动了几个Java程序。一旦创建了自己的输出,它们就会终止(它们本质上是脚本)。但是,我当前的脚本似乎是一次启动所有Java程序,这非常耗费资源。

目前,我的shell脚本如下所示:

代码语言:javascript
复制
java -Xmx2048M -jar gha.jar params1.yaml
java -Xmx2048M -jar gha.jar params2.yaml
java -Xmx2048M -jar gha.jar params3.yaml

当我运行它时,我会耗尽内存。如何修改我的脚本,使其只在第一个Java程序终止后启动下一个Java程序,以便在两者之间刷新内存?

EN

回答 2

Stack Overflow用户

发布于 2012-12-29 22:32:54

你弄错了。shell将一次一个地运行这些命令。唯一可能的解释是,如果这些程序启动后台进程,在这种情况下,shell无法知道如何等待它们完成。

票数 1
EN

Stack Overflow用户

发布于 2012-12-30 16:41:31

正如上面提到的@bmargulies,您所显示的命令应该一次运行一个命令。

尝试修改您的shell脚本,如下所示。使用下面的构造,一个命令只有在前一个命令成功完成时才会运行(至少在理论上是这样)。

代码语言:javascript
复制
java -Xmx2048M -jar gha.jar params1.yaml && java -Xmx2048M -jar gha.jar params2.yaml && java -Xmx2048M -jar gha.jar params3.yaml

如果这不起作用,请在后台运行该脚本并列出当前正在运行的进程。希望这能让你对系统上正在运行的东西有一个概念。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14082537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档