Основы программирования в Linux
Шрифт:
Как это работает
Эта программа вызывает функцию
В исходном коде Linux вы сможете найти в команде
Для просмотра всех данных файла учетных записей пользователей можно воспользоваться функцией
Функция
Идентификаторы пользователя и группы (эффективный или действующий и реальный) можно получить с помощью других реже используемых функций:
Подробную информацию об идентификаторах группы и эффективных идентификаторах пользователей следует искать на страницах интерактивного справочного руководства системы, хотя, быть может, вы решите, что вам вообще не следует манипулировать ими.
Только суперпользователь может вызывать функции
Информация о компьютере
Программа может установить некоторые подробные сведения о компьютере, на котором выполняется, так же, как она определяет информацию о пользователе. Подобную информацию предоставляет команда
Сведения о рабочем компьютере могут оказаться полезными в ряде ситуаций. Вы можете захотеть настроить поведение программы в зависимости от сетевого имени машины, на которой она выполняется, скажем, на студенческом компьютере или машине администратора. Для соблюдения лицензионных соглашений вам может потребоваться ограничить выполнение программы одной машиной. Все это означает, что вам нужен способ определения компьютера, на котором выполняется программа.
Если в системе установлены сетевые компоненты, вы очень легко можете получить сетевое имя компьютера с помощью функции
Эта функция записывает сетевое имя машины в строку
Более подробную информацию о рабочем компьютере можно получить с помощью системного вызова
Функция uname записывает информацию о компьютере в структуру, на которую указывает параметр name. Структура типа utsname, определенная в файле sys/utsname.h, обязательно должна включать элементы, перечисленные в табл. 4.5.
Таблица 4.5
| Элемент структуры utsname | Описание |
|---|---|
| char sysname[] | Имя операционной системы |
| char nodename[] | Имя компьютера |
| char release[] | Номер выпуска (релиза) системы |
| char version[] | Номер версии системы |
| char machine[] | Аппаратный тип |
В случае успешного завершения функция
Выполните упражнение 4.12.
Далее приведена программа hostget.c, извлекающая некоторые сведения о рабочем компьютере.
Первый среди равных
1. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
рейтинг книги
Прапорщик. Назад в СССР. Книга 7
7. Второй шанс
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Враг из прошлого тысячелетия
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Двойник короля 21
21. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
Битва за Изнанку
7. Бедовый
Фантастика:
городское фэнтези
мистика
рейтинг книги
Виконт. Книга 3. Знамена Легиона
3. Псевдоним `Испанец`
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Камень. Книга 3
3. Камень
Фантастика:
фэнтези
боевая фантастика
рейтинг книги
Сильнейший Столп Империи. Книга 2
2. Сильнейший Столп Империи
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Проводник
2. Другая сторона
Фантастика:
боевая фантастика
рпг
рейтинг книги
Я еще не царь
25. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
рейтинг книги
Дни мародёров
Детективы:
триллеры
рейтинг книги