Как “вершина” управляет шоу живые результаты?

Расшириться немного на ответе Ryan Fox: Много программ (большинство? - это - значение по умолчанию для любой программы C), буфер строки stdout, когда они говорят с терминалом, но полностью буферный это иначе. (Стандарт C указывает, что stdout первоначально полностью буферизуется, когда он "может быть полон решимости не относиться к интерактивному устройству".)

Таким образом, то, что Вы видите, - то, что вывод программы, которую Вы запускаете удаленно (как дали stdout) не с буфером строки; ssh просто проходит через то, что это получает, когда это получает его. (Я думаю, что ssh на самом деле не делает никакой буферизации вообще на ее выводе - который был бы наименее волшебным способом удостовериться, что пользователь видит то, что предназначила удаленная программа.)

9
13.10.2013, 23:52
5 ответов

Помогло бы, были ли Вы намного более конкретны относительно того, что Вы пытаетесь сделать.

Вот чрезвычайно упрощенный пример:

while true
do
    clear
    date
    sleep 1
done
7
27.01.2020, 20:04

Большинство тех данных обычно выставляется в/proc примитивах виртуальной файловой системы. Каждый процесс имеет запись в/proc в каталоге, названном PID. Таким образом,/proc/5437 имел бы примитивы для этих 5 437 процессов. Чтение примитивов там и парсинг соответственно были бы все же Вы близко к тому, что делает вершина.

Вершина на самом деле работает путем вызова определенных вызовов функции, которые извлекают эту информацию непосредственно из ядра вместо того, чтобы вытянуть ее из файлов. Чтобы сделать то же от удара, необходимо было бы или вытянуть его от/proc виртуальной файловой системы или извлечь его из других вызовов такой относительно ps.

Что касается в реальном времени, который не является довольно выполнимым в вершине уровня детализации, обеспечивает. Можно нарезать время, достаточно прекрасное, что это, кажется, в реальном времени, но Вы будете все еще получать интервалы.

2
27.01.2020, 20:04

можно использовать часы (1) команда для запущения скрипта равномерно:

watch -n 1 myscript.sh

Это будет работать myscript.sh каждая 1 вторая очистка экран между каждым выполнением и с меткой времени в углу. Можно использовать -d опция и это даже выделят различия в выводе на выполнение.

13
27.01.2020, 20:04
  • 1
    , о котором я просто думал, как ответить на это с помощью часов. –  Kevin M 30.08.2010, 05:51
  • 2
    я не имею watch. Вы могли быть более конкретными? Что ОС? –  Chris Page 25.06.2012, 09:10

Erm, в случае, если Вы смотрите на top вывод в течение более длительного времени, и не только проверить, в порядке ли программа, я предлагаю использовать htop.

give's Вы большая оперативная информация и легче управлять и справиться.

Можно изменить расположение вывода, такого как гистограммы и столбцы.

2
27.01.2020, 20:04
  • 1
    я полагаю, что он спрашивает, как записать приложение, которое опрашивает равномерно не о вершине или htop конкретно. –  Chris 30.08.2010, 13:18

top Проклятия использования и чтения /proc файловая система

1
27.01.2020, 20:04
  • 1
    За исключением систем, которые не имеют /proc. Другим способом получить информацию является sysctl (8)/sysctl (3). –  Chris Page 25.06.2012, 09:13

Теги

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