基于并行执行命令中第一个命令的退出,退出第二个命令

问题描述 投票:0回答:1

我想运行一个资源密集型命令,并在第一个命令运行时使用另一个命令转储硬件统计信息。我当然想在第一个退出时停止第二个。

例如

ping 8.8.8.8 & dstat -T -f temp.csv

显然 ping 并不密集,但你明白了。

使用上述命令,第一部分退出但第二部分继续运行。我希望 dstat 在 ping 结束时停止。此外,重要的是,这发生在一个线性命令中。

bash usage-statistics simultaneous-calls
1个回答
0
投票

在后台运行

dstat
,并将其PID保存在一个变量中。然后在前台运行
ping
,完成后杀死
dstat

dstat -T -f temp.csv &
dstat_pid=$!
ping 8.8.8.8
kill $dstat_pid
© www.soinside.com 2019 - 2024. All rights reserved.