如何在另一个应用程序运行时运行一个应用程序?

如何在另一个应用程序运行时运行一个应用程序?

我想在其他应用程序运行时运行一个应用程序。例如,在脚本中我启动一个应用程序:

#!/bin/sh
bob

并且该应用程序将运行很长时间。然而,我想在启动 5 秒后运行另一个应用程序alice(将使用 的bob结果)bob。我应该怎么做?

答案1

根据和alicebob编写方式以及每个的运行速度,这可能很简单:

#!/bin/sh
bob &
sleep 5
alice

但这有以下假设:

  • bob不独占锁定其输出文件
  • bob然后跑得更快alice
  • alice不需要完整的结果集bob即可开始执行。

如果上述任何假设不满足,则解决方案是:

  1. 发明一台时间机器
  2. 回到足够长的时间
  3. 开始bob
  4. 回到当前时间 + 5 秒
  5. 开始alice

答案2

此应用程序将运行很长时间。但是,我想在启动 bob 5 秒后运行另一个应用程序 alice(将使用 bob 的结果)。

这似乎是任意的。如果你运行bob | alice,那么alice将立即开始处理 的输出bobalice将以最快的速度处理它bob

你的真正的问题? 你到底想实现什么目标?如果没有更多细节,这个问题就无法回答。

相关内容