我的问题是,当我运行脚本时,它会继续执行以下命令:
top -b > output.txt
机器上的数据非常大,因此需要一些时间才能从输出中检索完整的 CPU 统计信息堆栈top
。它会立即输出一些数据,然后需要一段时间才能获取其余数据。(我通过在终端中运行 top 命令来检查)。
我需要等待检索所有 CPU 统计信息等(比如说 20 秒),然后top
在 20 秒后获取输出并输出到 output.txt。
我知道睡眠是用于延迟的,但在这种情况下它似乎是在某个特定的地方所必需的。
答案1
我非常怀疑本世纪的机器会花 20 秒来生成一张top
表格。更可能的问题是你被告知top
要间隔打印输出永远,并且由于缓冲,输出不会立即写入。请尝试top -b -n1 > output.txt
。
答案2
尝试使用该wait
命令。
像这样:
top -bn 1 > output.txt & wait
它应该等到该过程完成后才能继续。