Как я получаю первые 5 строк главной команды и добавляю в файл?

Я знаю, что можно сделать это при помощи следующей команды:

top -b -n 1 | head -n 5

Однако я пытаюсь сохранить и добавить данные от главного файла до файла, который сделан следующим:

top -b -n 1 | head -n 5 >> test.txt

(> test.txt заменяет текущий текст и не добавляет.)

Вышеупомянутая команда используется в сценарии Python как таковом:

process = subprocess.Popen('top -b -n 1 | head -n 5 >> htop-' + str(i)  + '.txt', shell=True)

Вышеупомянутое находится в функции, которая вызывается каждую секунду.

Однако только первое повторение хранится. Данные не добавляются. Я пропускаю что-то?

0
задан 22 August 2018 в 03:56

1 ответ

Если Вы будете хотеть это к добавляемому периодически то - Вам, вероятно, будут нужны некоторый цикл или что-то еще для вызова того сценария несколько раз. Вот пример с большим количеством while цикл:

while [ 1 ]; do
    top -b -n 1 | head -n 5 >> test.txt
    sleep 1
done

можно корректироваться, как часто это будет зарегистрировано путем изменения параметра sleep (в секундах).

1
ответ дан 6 September 2019 в 03:52

Другие вопросы по тегам:

Похожие вопросы: