我的問題是,當我運行腳本時,它會繼續執行以下命令:
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
它應該等到該過程完成後再繼續。