我想运行一个资源密集型命令,并在第一个命令运行时使用另一个命令转储硬件统计信息。我当然想在第一个退出时停止第二个。
例如
ping 8.8.8.8 & dstat -T -f temp.csv
显然 ping 并不密集,但你明白了。
使用上述命令,第一部分退出但第二部分继续运行。我希望 dstat 在 ping 结束时停止。此外,重要的是,这发生在一个线性命令中。
在后台运行
dstat
,并将其PID保存在一个变量中。然后在前台运行ping
,完成后杀死dstat
。
dstat -T -f temp.csv &
dstat_pid=$!
ping 8.8.8.8
kill $dstat_pid