times - ведет запись времен процесса
НАЗВАНИЕtimes - ведет запись времен процесса
СИНТАКСИС
#include
clock_t times(struct tms *buf);
ОПИСАНИЕ
Функция times() записывает времена текущего процесса в
структуру struct tms на которую указывает аргумент buf.
Функция struct tms определена в следующим
образом:
struct tms {
clock_t tms_utime; /* пользовательское время */
clock_t tms_stime; /* системное время */
clock_t tms_cutime; /* пользовательское время дочерних процессов */
clock_t tms_cstime; /* системное время дочерних процессов */
};
Поле tms_utime содержит процессорное время, прошедшее с
момента выполнения команд вызывающего процесса. Поле
tms_stime содержит процессорное время, прошедшее в системе
с момента запуска задач вызывающего процесса. Поле
tms_cutime содержит сумму значений полей tms_cutime и
tms_stime для всех ожидающих завершения дочерних
процессов. Поле tms_cstime содержит сумму значений полей
tms_stime и tms_cstime для всех ожидающих завершения
дочерних процессов.
Времена для завершенных процессов (и их потомков)
добавляются в момент вызова функции wait(2) или wait-
pid(2), возвращающая идентификатор процесса.
Все значения времени возвращаются в тиках.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Функция times возвращает количество тиков часов с
определенного момента времени. В Linux это количество
тиков часов с момента запуска системы. Возвращаемое
значение может превысить возможный диапазон типа clock_t.
При ошибке возвращается (clock_t) -1 и глобальная
переменная errno устанавливается соответствующим образом.
ЗАМЕЧАНИЕ
Число тиков часов в секунду может быть найдено, используя
sysconf(_SC_CLK_TCK);
В стандарте POSIX-1996 обозначение CLK_TCK (определено в
) упомянуто как устаревающее. В настощий момент
это устарело.
Заметим, что clock(3) возвращает значения в типе clock_t,
который измеряется не в тиках, а в CLOCKS_PER_SEC.
СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4, SVID, POSIX, X/OPEN, BSD 4.3
ИСТОРИЧЕСКИЕ ЗАМЕЧАНИЯ
В SVr1-3 функция возвращает long и члены структуры имеют
тип time_t, несмотря на то, что оно хранит тики часов, а
не секунды прошедшие с 1 января 1970 года. В V7 функция
использует long для членов структуры, потомучто до сих пор
не имеет тип time_t.
На старых системах число тиков часов в секунду можно
получить из переменной HZ.