【发布时间】:2020-03-23 17:57:55
【问题描述】:
我想使用 shell 脚本对 2 个进程进行自动化处理。 我有 2 个程序,a 是一个工作负载,b 是一个 CPU 分析器,用于在 a 运行时分析 cpu。
以前,我通过打开 2 个终端手动运行这些程序。首先,在第一个终端运行a,然后在另一个终端,我得到a的进程ID,最后运行./b [pid-of-a]。这导致我错过了进程 a 前几秒的分析。
我试过了:
./a &
pid=$! &
./b pid
但它并没有按照我想要的方式工作。它首先运行 b 并返回错误,因为 a 的 PID 不存在。我也不能使用&&,因为它会在 b 开始之前等待 a 先完成,这不是我想要的方式。
关于这种依赖,我应该对我的代码做哪些修改?
【问题讨论】: