Книга: Программирование для Linux. Профессиональный подход
Листинг 7.7. (print-uptime.c) Отображение времени работы и времени простоя системы
Листинг 7.7. (print-uptime.c) Отображение времени работы и времени простоя системы
#include <stdio.h>
/* Запись результата в стандартный выходной поток.
Параметр TIME это количество времени, а параметр LABEL --
короткая описательная строка. */
void print_time(char* label, long time) {
/* Константы преобразования. */
const long minute = 60;
const long hour = minute * 60;
const long day = hour * 24; /* Вывод результата. */
printf("%s: %ld days, %ld:%02ld:%02ldn", label, time / day,
(time % day) / hour, (time % hour) / minute, time % minute);
}
int main() {
FILE* fp;
double uptime, idle_time;
/* Чтение показателей времени из файла /proc/uptime. */
fp = fopen("/proc/uptime", "r");
fscanf(fp, "%lf %lfn", &uptime, &idle_time);
fclose(fp);
/* Форматирование и вывод. */
print_time("uptime ", (long)uptime);
print_time("idle time", (long)idle_time);
return 0;
}
Общее время работы системы отображают также команда uptime
и функция sysinfo()
(описана в разделе 8.14, "Функция sysinfo(): получение системной статистики"). Команда uptime
дополнительно выдает показатели средней загруженности, извлекаемые из файла /proc/loadavg
.
- Отображение статистики
- Отображение
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Типы данных для работы с датой и временем
- Особенности системы защиты данных в InterBase
- Уменьшение времени, необходимого для резервного копирования и восстановления
- Ограничение времени ожидания для транзакций (Lock timeout)
- Новые функции API для работы с Blob и массивами
- 10 Алгоритм работы с возражениями
- Установка системы на уже подготовленный жесткий диск
- 1.3. Системы счисления
- 7.4. Модель системы автоматизированного проектирования защиты информации