Разработчики) | Различные разработчики с открытым исходным кодом и коммерческие разработчики |
---|---|
Операционная система | Unix , Unix-подобный , Inferno |
Платформа | Кроссплатформенность |
Тип | Командование |
В вычислений , time
представляет собой команду в Unix и Unix-подобных операционных систем. Он используется для определения продолжительности выполнения конкретной команды .
Обзор [ править ]
time(1)
может существовать как отдельная программа (например, GNU time) или как встроенная оболочка в большинстве случаев (например, в sh , bash , tcsh или в zsh ).
Пользовательское время и системное время [ править ]
Общее время CPU является сочетание количества времени процессора или процессоров , потраченное на выполнение какого - либо действия для программы и количество времени , которое они провели выполнение системных вызовов для ядра от имени программы. Когда программа проходит через массив, она накапливает время ЦП пользователя. И наоборот, когда программа выполняет системный вызов, такой как exec
или fork
, она накапливает время центрального процессора системы.
Реальное время и процессорное время [ править ]
Термин «реальное время» в этом контексте относится к истекшему времени на настенных часах , например, при использовании секундомера. Общее время ЦП (время пользователя + системное время) может быть больше или меньше этого значения. Поскольку программа может некоторое время ждать и вообще не выполняться (в пользовательском или системном режиме), реальное время может быть больше, чем общее время ЦП. Поскольку программа может разветвлять дочерние элементы, время ЦП (как пользовательское, так и системное) добавляется к значениям, сообщаемым time
командой, но в многоядерной системе эти задачи выполняются параллельно, общее время ЦП может быть больше, чем реальное время.
Использование [ править ]
Чтобы использовать команду, просто поставьте перед любой командой слово time
, например:
$ time ls
Когда команда завершится, time
сообщит, сколько времени потребовалось для выполнения ls
команды с точки зрения пользовательского времени центрального процессора , системного времени центрального процессора и реального времени. Формат вывода различается в зависимости от версии команды, а некоторые дают дополнительную статистику, как в этом примере:
$ time host wikipedia.org wikipedia.org имеет адрес 103.102.166.224 wikipedia.org, почта обрабатывается 50 mx2001.wikimedia.org. Почтой wikipedia.org занимается 10 mx1001.wikimedia.org. хост wikipedia.org 0,04 сек. пользователь 0,02 сек. система 7% ЦП 0,780 всего $
time (либо автономная программа, либо когда оболочка Bash работает в режиме POSIX И время вызывается как time -p
) сообщает стандартный вывод ошибок.
время -p [ править ]
Переносимые скрипты должны использовать time -p
режим, который использует другой формат вывода, но совместим с различными реализациями:
$ time -p sha256sum / bin / ls 12477deb0e25209768cbd79328f943a7ea8533ece70256cdea96fae0ae34d1cc / bin / ls real 0.00 user 0.00 sys 0.00 $
Реализации [ править ]
Время GNU [ править ]
Текущие версии GNU time по умолчанию сообщают больше, чем просто время:
$ / USR / бен / время sha256sum / бен / LS 12477deb0e25209768cbd79328f943a7ea8533ece70256cdea96fae0ae34d1cc / бен / LS 0.00user 0.00system 0: 00.00elapsed 100% ЦП (0avgtext + 0avgdata 2156maxresident) K 0inputs + 0outputs (0major + 96minor) свопирование 0swaps $
Формат вывода для времени GNU может быть скорректирован с помощью TIME
переменной среды, и он может включать информацию, отличную от времени выполнения (т. Е. Использования памяти). Это поведение недоступно в обычном POSIX- совместимом времени или при выполнении как time -p
.
Документацию этого времени обычно можно получить с помощью man 1 time
.
Метод работы [ править ]
Согласно исходному коду реализации GNU time
, большая часть информации, отображаемой в, time
получена из wait3
системного вызова. В системах, в которых нет wait3
вызова, возвращающего информацию о состоянии, times
вместо него используется системный вызов.
Баш [ править ]
В популярной Unix оболочки Bash , time
специальное ключевое слово, которое может быть поставлен перед трубопровода (или одной команды), что меры по времени всего трубопровода, а не только команды сингулярного (первый), и использует другой формат по умолчанию, и путы пустая строка перед отчетным временем:
$ time seq 10000000 | туалет -l 10000000real 0m0.078s пользователь 0m0.116s sys 0m0.029s $
Сообщаемое время - это время, используемое обоими seq
и wc -l
суммируемое. Формат вывода можно настроить с помощью TIMEFORMAT
переменной.
Время не является встроенным, но специальным ключевым слово, и не может рассматриваться в качестве функции или команды. Он также игнорирует конвейерные перенаправления (даже если выполняется как time -p
, если только Bash не запущен в «режиме POSIX»).
Доступ к документации на этот раз можно получить с помощью man 1 bash
или внутри самого bash с помощью help time
.
См. Также [ править ]
В Wikibook Guide to Unix есть страница на тему: Команды |
- Системное время
- Cron- процесс для планирования выполнения заданий в определенное время
- ВРЕМЯ (команда)
Ссылки [ править ]
- : time простая команда - Справочник по командам и служебным программам, Единая спецификация UNIX , выпуск 7 от The Open Group
- - Руководство по общим командам Inferno
- : Время простой команды или отдавание ресурс использование - Linux пользователя Руководство - Команды пользователя