Основы программирования в Linux
Шрифт:
В данном перечне вы видите разные специальные файлы, способные сообщить вам, что происходит с процессом.
Можно сказать, что выполняется программа /usr/bin/pftp, и ее текущий рабочий каталог — home/neil/BLP4e/chapter03. Есть возможность прочитать другие файлы из этого каталога, чтобы увидеть командную строку, применяемую для запуска программы, а также ее окружение. Файлы cmdline и environ предоставляют эту информацию в виде последовательности нуль-терминированных строк, поэтому вам следует соблюдать осторожность при их просмотре. Более подробно окружение ОС Linux мы обсудим в главе 4.
Из полученного вывода видно, что
Подкаталог fd предоставляет информацию об открытых дескрипторах файлов, используемых процессом. Эти данные могут быть полезны при определении количества файлов, одновременно открытых программой. На каждый открытый дескриптор приходится один элемент; имя его соответствует номеру дескриптора. В нашем случае, как мы и ожидали, у программы
Более сложные приемы: fcntl и mmap
Теперь мы коснемся приемов, которые вы можете пропустить, поскольку они редко используются. Признавая это, мы помещаем их в книгу просто для вашего сведения, потому что применение описываемых средств может предоставить простые решения для замысловатых проблем.
fcntl
Системный вызов
С помощью системного вызова
Различные операции выбираются разными значениями параметра команды
Вызов
mmap
Система UNIX предоставляет полезное средство, позволяющее программам совместно использовать память, и, к счастью, оно включено в версию 2.0 и более поздние версии ядра Linux. Функция
Вы можете применить то же самое средство для работы с файлами, заставив все содержимое файла на диске выглядеть как массив в памяти. Если файл состоит из записей, которые могут быть описаны структурами на языке С, вы сможете обновлять файл с помощью методов доступа к массиву структур.
Это становится возможным благодаря применению сегментов виртуальной памяти с набором особых прав доступа. Чтение из сегмента и запись в него заставляет операционную систему читать соответствующую часть файла на диске и писать данные в нее.
Остров Крым
Фантастика:
социально-философская фантастика
альтернативная история
рейтинг книги
Русский романс
Поэзия:
песенная поэзия
лирика
рейтинг книги
Изгнание
Проза:
проза прочее
рейтинг книги
Газлайтер. Том 38
38. История Телепата
Фантастика:
городское фэнтези
аниме
попаданцы
рейтинг книги
Неучтенный элемент. Том 11
11. Антимаг. Вне системы
Фантастика:
фэнтези
рейтинг книги
"Охотник". Компиляция. Книги 1-12
Собрание сочинений
Фантастика:
боевая фантастика
рейтинг книги
Приказано выжить!
1. Другая Русь
Фантастика:
боевая фантастика
попаданцы
альтернативная история
рейтинг книги
Враг Короны
10. Сварог
Фантастика:
героическая фантастика
рейтинг книги
Три Меченосца. Книга первая. Желтая сталь алфейнов
Хроники Гэмдровса
Фантастика:
фэнтези
эпическая фантастика
героическая фантастика
боевая фантастика
рейтинг книги
Исторический материализм
Научно-образовательная:
история
философия
политика
рейтинг книги
Стеллар. Компиляция. Книги 1-9
Стеллар
Фантастика:
киберпанк
рпг
постапокалипсис
технофэнтези
рейтинг книги
Последний реанорец. Том IV
3. Высшая Речь
Фантастика:
фэнтези
рейтинг книги
Вавилонская башня
2. Кудеяр
Фантастика:
боевая фантастика
рейтинг книги
Из 'Автобиографии'
Научно-образовательная:
история
рейтинг книги