如何在Linux上连续运行两个任务

如何在Linux上连续运行两个任务

当我运行以下命令时,我正在使用 keycloak 服务器:

standalone.sh 

此命令启动服务器,并且在执行 Ctrl-C 命令之前我无法停止它。我想运行这样的指令:

standalone.sh && jboss-cli.sh -c --commands=shutdown

或者

standalone.sh ; jboss-cli.sh -c --commands=shutdown

基于这个问题shell 的控制和重定向运算符是什么?我找到;

将在另一个命令完成后运行一个命令,无论第一个命令的结果如何。

&&

用于构建 AND 列表,它允许您仅在另一个命令成功退出时才运行一个命令。

但就我而言,第一个任务没有退出并且仍在执行。是否有任何解决方案可以运行另一个任务来停止第一个任务?

答案1

&在第一个命令的末尾添加一个。

standalone.sh & jboss-cli.sh -c --commands=shutdown

该单个 & 符号是一个命令分隔符,就像 一样;,但发送先前的命令以在后台异步运行,并让后续命令立即启动。

答案2

正如所指出的用户1404316standalone.sh & jboss-cli.sh -c --commands=shutdown可能就是您想要的。唯一的问题是,如果standalone.sh执行需要时间(可能确实如此),我会插入一个sleep来抵消执行时间,例如:

standalone.sh & sleep $amount_of_time_in_seconds; jboss-cli.sh -c --commands=shutdown

相关内容