2

Моя проблема в том, что когда я запускаю свой сценарий, он продолжает команду ниже:

top -b > output.txt

Данные на компьютере достаточно велики, и поэтому требуется некоторое время, чтобы получить полную статистику ЦП из top вывода. Он выводит некоторые данные мгновенно, а затем требуется некоторое время, чтобы получить остальное. (Я проверил, просто запустив команду top в терминале.

Мне нужно дождаться получения всей статистики процессора и т.д. (Скажем, 20 секунд), затем получить top вывод через 20 секунд и вывести его в output.txt.

Я знаю, что сон используется для задержек, но в данном случае он требуется где-то конкретно.

2 ответа2

4

Я очень сомневаюсь, что машине этого тысячелетия понадобится 20 секунд, чтобы сгенерировать один top стол. Скорее всего, проблема в том, что вы указали top печатать вывод с интервалами вечно, и этот вывод записывается не сразу из-за буферизации. Вместо этого попробуйте top -b -n1 > output.txt .

-2

Попробуйте использовать команду wait .

Как это:

top -bn 1 > output.txt & wait

Предполагается подождать, пока этот процесс не завершится, прежде чем двигаться дальше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .