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

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

Жанры

Программирование для Linux. Профессиональный подход

Самьюэл Алекс

Шрифт:

sizeof(entry_path) — path_len);

/* Определяем тип элемента. */

type = get_file_type(entry_path);

/* Отображаем собранную информацию. */

printf("%-18s: %s\n", type, entry_path);

 }

 /* Конец работы. */

 closedir(dir);

 return 0;

}

Приведем несколько строк листинга полученного в каталоге

/dev
(в разных системах могут быть выданы разные результаты)

% ./listdir /dev

directory : /dev/.

directory : /dev/..

socket : /dev/log

character device : /dev/null

regular file : /dev/MAKEDEV

fifo : /dev/initctl

character device : /dev/agpgart

...

Для

проверки этих данных можно воспользоваться командой
ls
. Флаг
– U
отменяет сортировку списка, а флаг
– a
заставляет включить в список записи текущего (
.
) и родительского (
..
) каталогов.

% ls -lua /dev total 124

drwxr-xr-x 7 root root 36864 Feb 1 15:14 .

drwxr-xr-x 22 root root 4096 Oct 11 16:39 ..

srw-rw-rw- 1 root root 0 Dec 18 01:31 log

crw-rw-rw- 1 root root 1, 3 May 5 1998 null

– rwxr-xr-x 1 root root 26689 Mar 2 2000 MAKEDEV

prw------- 1 root root 0 Dec 11 18:37 initctl

crw-rw-r-- 1 root root 10, 175 Feb 3 2000 agpgart

Первый символ каждой строки определяет тип элемента каталога.

Приложение В

Таблица сигналов

В табл. В.1 перечислены сигналы, которые чаще всего приходится обрабатывать в Linux-программах. Некоторые сигналы имеют разные интерпретации в зависимости от того, где они были получены.

Указанные имена сигналов определены в виде макроконстант препроцессора. Чтобы иметь возможность сослаться на них в программе необходимо подключить файл

<signal.h>
. Реальное определение сигналов дано в файле
/usr/sys/signum.h
, который подключается к файлу
<signal.h>
.

Для получения полного списка сигналов, поддерживаемых в Linux, необходимо выполнить такую команду:

% man 7 signal

Таблица В.1. Сигналы ОС Linux

Название Описание
SIGHUP
Linux посылает этот сигнал, когда происходит отключение от терминала. Многие программы применяют этот сигнал в совершенно иных целях: он служит указанием программе повторно прочитать свой файл конфигурации
SIGINT
Linux посылает процессу этот сигнал, когда пользователь пытается завершить процесс нажатием клавиш <Ctrl+C>
SIGILL
Процесс получает этот сигнал при попытке выполнить недопустимую инструкцию. Это может означать повреждение стека программы
SIGABRT
Этот сигнал посылается функцией
abort
SIGFPE
По течение этого сигнала означает, что процесс выполнил недопустимую операцию с плавающей запятой. В зависимости от конфигурации центрального процессора результатом операции может стать специальное нечисловое значение, например
inf
(бесконечность) или
NaN
(не число), а не сигнал
SIGFPE
SIGKILL
Этот сигнал приводит к немедленному завершению процесса и не может быть перехвачен
SIGUSR1
Этот сигнал зарезервирован для прикладного использования
SIGUSR2
Этот сигнал зарезервирован для прикладного использования
SIGSEGV
Этот сигнал означает, что программа выполнила недопустимое обращение к памяти. Возможно, указанный адрес находится за пределами
адресного пространства процесса или процессу запрещен доступ к этому участку памяти
SIGPIPE
Этот сигнал означает, что программа обратилась к разрушенному потоку данных, например к сокету, который был закрыт на противоположной стороне
SIGALRM
Доставка этого сигнала планируется функциями
alarm
и
setitimer
(см. раздел 8.13 "Функция setitimer: задание интервальных таймеров")
SIGTERM
Этот сигнал является запросом на завершение процесса и посылается командой
kill
по умолчанию
SIGCHLD
Linux посылает процессу этот сигнал при завершении одного из дочерних процессов (см. раздел 3.4.4, "Асинхронное удаление дочерних процессов")
SIGXCPU
Linux посылает процессу этот сигнал в случае превышения разрешенного времени доступа к центральному процессору (см. раздел 8.5, "Функции getrlimit и setrlimit: лимиты ресурсов")
SIGVTALRM
Доставка этого сигнала планируется функцией
setitimer
(см. раздел 8.13, "Функция
setitimer
: задание интервальных таймеров")

Приложение Г

Internet-ресурсы

В этом приложении перечислен ряд Web-узлов, где можно найти информацию о программировании Linux-систем.

Г.1. Общая информация

■ 

http://www.advancedlinuxprogramming.com
. Это Web-узел данной книги. Здесь можно загрузить текст книги в электронном виде вместе с исходными текстами программ, найти ссылки на другие ресурсы и получить дополнительную информацию о программировании в Linux.

■ 

http://www.linuxdoc.org
. Это Web-узел проекта Linux Documentation Project. Здесь находится хранилище всевозможной документации, а также FAQ-архивов.

Г.2. Информация о программном обеспечении GNU/Linux

■ 

http://www.gnu.org
. Это Web-узел проекта GNU Project. Здесь можно загрузить всевозможные бесплатно распространяемые программы. Среди них и GNU-библиотека языка С, содержащая многие из описанных в данной книге функций. Здесь же приведена информация о том. как внести свой вклад в развитие системы GNU/Linux, написав программный код и документацию либо использовав бесплатное программное обеспечение.

■ 

http://www.kernel.org
. Это основной Web-узел для распространения исходных кодов ядра Linux и лучшее место для поиска ответов на самые сложные вопросы о том, как работает Linux. В разделе "Documentation" приведена информация о структуре ядра системы.

■ 

http://www.linuxhq.com
. Здесь также распространяются исходные коды ядра Linux наряду с "заплатами" и прочей информацией.

■ 

http://gcc.gnu.org
. Это Web-узел коллекции GNU-компидяторов (GCC). В нее входят компиляторы языков С, C++, Objective C, Java, Chill и Fortran.

■ 

http://www.gnome.org
и
http://www.kde.org
. Это Web-узлы двух наиболее популярных графических оболочек Linux: Gnome и KDE. Они понадобятся тем, кому необходимо разрабатывать приложения с пользовательским интерфейсом.

Г.3. Другие ресурсы

■ 

http://developer.intel.com
. Здесь содержится информация о процессорах Intel, включая архитектуру x86 (IA32). Отметим очень полезные справочники встроенных ассемблерных инструкций.

■ 

http://www.amd.com
. Здесь представлена аналогичная информация о процессорах AMD.

■ 

http://freshmeat.net
. Здесь находится список программ с открытыми кодами, в основном для платформы GNU/Linux. Это одно из лучших мест, где можно оперативно узнавать о программных новинках для Linux, начиная от базовых системных компонентов и заканчивая специализированными приложениями.

■ 

http://www.linuxsecurity.com
. Здесь содержится информация о программах, обеспечивающих безопасность Linux-систем. Этот Web-узел будет интересен пользователи, системным администраторам и разработчикам.

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

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

У врага за пазухой

Коваленко Марья Сергеевна
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
У врага за пазухой

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит