Чтение онлайн

на главную - закладки

Жанры

Основы программирования в Linux
Шрифт:

strerror

Функция

strerror
преобразует номер ошибки в строку, описывающую тип возникшей ошибки. Она может быть полезна для регистрации условий, вызывающих ошибку.

Далее приведена ее синтаксическая запись:

#include <string.h>

char *strerror(int errnum);

perror

Функция

perror
также превращает текущую ошибку в виде, представленном в переменной
errno
, в строку и выводит ее в стандартный поток ошибок. Ей предшествует сообщение, заданное в строке
s
(если указатель не равен
NULL
), за которым следуют двоеточие и пробел.

Далее приведена синтаксическая запись функции:

#include <stdio.h>

void perror(const char *s);

Например, вызов

perror("program");

может дать следующий результат в стандартном потоке ошибок:

program: Too many open files

Файловая система procfs

Ранее в этой главе мы уже писали о том, что ОС Linux обрабатывает многие вещи как файлы, и в файловой системе есть ряд элементов для аппаратных устройств. Эти файлы /dev применяются для доступа к оборудованию особыми методами с помощью низкоуровневых системных вызовов.

Программные драйверы, управляющие оборудованием, часто могут настраиваться определенными способами или сообщать информацию. Например, контроллер жесткого диска может настраиваться на применение определенного режима DMA. Сетевая карта может обладать функциональными возможностями для оповещения об установке высокоскоростного дуплексного соединения.

В прошлом для связи с драйверами устройств применялись утилиты общего назначения. Например, hdparm использовалась для настройки некоторых параметров диска, a ifconfig могла сообщить сетевую статистику. В недавнем прошлом появилась тенденция, направленная на обеспечение более подходящего способа доступа к информации драйвера и, как расширение, включающая взаимодействие с различными элементами ядра Linux.

ОС Linux предоставляет специальную файловую систему procfs, которая обычно доступна в виде каталога /proc. Она содержит много специальных файлов, обеспечивающих высокоуровневый доступ к информации драйвера и ядра. Приложения, выполняющиеся с корректными правами доступа, могут читать эти файлы для получения информации и записывать в них устанавливаемые параметры.

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

обсудим их применение.

В перечень каталога /proc на компьютере, использовавшемся для написания этой главы, включены следующие элементы:

1/ 10514/ 20254/ 6/ 9057/ 9623/ ide/ mtrr

10359/ 10524/ 29/ 698/ 9089/ 9638/ interrupts net/

10360/ 10530/ 983/ 699/ 9118/ acpi/ iomem partitions

10381/ 10539/ 3/ 710/ 9119/ asound/ ioports scsi/

10438/ 10541/ 30/ 711/ 9120/ buddyinfo irq/ self@

10441/ 10555/ 3069/ 742/ 9138/ bus/ kallsyms slabinfo

10442/ 10688/ 3098/ 7808/ 9151/ cmdline kcore splash

10478/ 10689/ 3099/ 7813/ 92/ config.gz keys stat

10479/ 10784/ 31/ 8357/ 9288/ cpuinfo key-users swaps

10482/ 113/ 3170/ 8371/ 93/ crypto kmsg sys/

10484/ 115/ 3171/ 840/ 9355/ devices loadavg sysrq-trigger

10486/ 116/ 3177/ 8505/ 9407/ diskstats locks sysvipc/

10495/ 1167/ 32288/ 8543/ 9457/ dma mdstat tty/

10497/ 1168/ 3241/ 8547/ 9479/ driver/ meminfo uptime

Во многих случаях файлы могут только читаться и дают информацию о состоянии. Например, /proc/cpuinfo предоставляет сведения о доступных процессорах:

$ cat /proc/cpuinfo

processor : 0

vendor_id : GenuineIntel

cpu family : 15

model : 2

model name : Intel(R) Pentium(R) 4 CPU 2.66GHz

stepping : 8

cpu MHz : 2665.923

cache size : 512 KB

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 2

wp : yes

flags : fpu vme de pse tsc msr рае mce cx8 apic sep mtrr pge mca cmov

pat pse36 clflush dts acpi mmx fxsr sse sse2 ss up

bogomips : 5413.47

clflush size : 64

Файлы /proc/meminfo и /рroc/version предоставляют данные об использовании оперативной памяти и версии ядра соответственно:

Поделиться:
Популярные книги

Надуй щеки!

Вишневский Сергей Викторович
1. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки!

Купеческая дочь замуж не желает

Шах Ольга
Фантастика:
фэнтези
6.89
рейтинг книги
Купеческая дочь замуж не желает

Гранит науки. Том 4

Зот Бакалавр
4. Герой Империи
Фантастика:
боевая фантастика
городское фэнтези
попаданцы
5.00
рейтинг книги
Гранит науки. Том 4

Заточи свой клинок и Вперед!

Шиленко Сергей
1. Заточи свой клинок, и Вперед!
Фантастика:
юмористическая фантастика
рпг
попаданцы
5.00
рейтинг книги
Заточи свой клинок и Вперед!

Сильнейший Столп Империи. Книга 5

Ермоленков Алексей
5. Сильнейший Столп Империи
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Сильнейший Столп Империи. Книга 5

Лекарь Империи 2

Карелин Сергей Витальевич
2. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
5.00
рейтинг книги
Лекарь Империи 2

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Первый среди равных. Книга IV

Бор Жорж
4. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга IV

Гримуар тёмного лорда I

Грехов Тимофей
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар тёмного лорда I

Морской волк. 2-я Трилогия

Савин Владислав
2. Морской волк
Фантастика:
альтернативная история
8.91
рейтинг книги
Морской волк. 2-я Трилогия

Фишер. По следу зверя. Настоящая история серийного убийцы

Рогоза Александр
Реальные истории
Документальная литература:
истории из жизни
биографии и мемуары
5.00
рейтинг книги
Фишер. По следу зверя. Настоящая история серийного убийцы

Император Пограничья 9

Астахов Евгений Евгеньевич
9. Император Пограничья
Фантастика:
городское фэнтези
аниме
фантастика: прочее
попаданцы
5.00
рейтинг книги
Император Пограничья 9

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

Золотой ворон

Сакавич Нора
5. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Золотой ворон