У четвертому виданні популярного керівництва дані основи програмування в операційній системі Linux. Розглянуто: використання бібліотек C / C ++ і стан-дротяні засобів розробки, організація системних викликів, файловий ввід / вивід, взаємодія процесів, програмування засобами командної оболонки, створення графічних користувацьких інтерфейсів за допомогою інструментальних засобів GTK + або Qt, застосування сокетів і ін. Описано компіляція програм, їх компоновка c бібліотеками та робота з термінальним вводом / виводом. Дано прийоми створення програмного забезпечення в середовищах GNOME® і KDE®, зберігання даних з використанням СУБД MySQL® і налагодження програм. Книга добре структурована, що робить навчання легким і швидким.
Для початківців Linux-програмістів
Книга: Основи програмування в Linux
Ініціалізація системи LSB
Ініціалізація системи LSB
Область ініціалізації або запуску системи завжди, принаймні для нас, була джерелом занепокоєння через важковловимих відмінностей дистрибутивів.
Система Linux успадкувала від UNIX-подібних операційних систем ідею рівнів запуску або виконання, що визначають сервіси, постійно виконуються в системі. У табл. 18.1 наведено стандартні визначення для ОС Linux.
Halt. Застосовується як логічне стан, до якого слід перейти при зупинці системи
Однокористувацький режим. Каталоги, що відрізняються від / (кореневої), можуть не монтуватися, і мережевий підтримки не буде. Зазвичай застосовується для обслуговування системи
Розрахований на багато користувачів режим, але без мережевий підтримки
Звичайний розрахований на багато користувачів режим з мережевою підтримкою, що використовує екран реєстрації в текстовому режимі
Звичайний розрахований на багато користувачів режим з мережевою підтримкою, що використовує екран реєстрації в графічному режимі
Псевдоуровень, застосовуваний для перезавантаження
Стандарт LSB призводить ці рівні, але не вимагає їх обов'язкового використання, хоча вони і дуже поширені.
Супроводжує рівні запуску набір сценаріїв ініціалізації, що застосовуються для запуску, зупинки і повторного запуску сервісів. У минулому вони зберігалися в різних місцях в каталозі / etc, часто в /etc/init.d або в /etc/rc.d/init.d. Подібне різноманітність часто було причиною плутанини, оскільки користувачі, що міняли дистрибутиви, не могли знайти ваші системні сценарії запуску в звичних місцях, і установка програм завершувалася аварійно при спробі виконати сценарій ініціалізації з невірного каталогу.
Стандарт LSB 3.1 визначає каталог /etc/init.d, як місце зберігання сценаріїв ініціалізації, але при цьому дозволяє цього каталогу бути посиланням на інше місце в системі.
Сценарій ініціалізації повинен приймати параметр, керуючий його діями. У стандарті визначені параметри, перераховані в табл. 18.2.
Запускає (або перезапускає) сервіс
Перезапускає сервіс; зазвичай реалізований як простий останов сервісу, за яким слід запуск цього сервісу
Скидає сервіс, повторно завантажуючи параметри без реальної зупинки сервісу. Цей варіант підтримують не всі сервіси, тому даний параметр може бути недоступний в деяких сценаріях, а якщо доступний, то не має ефекту
Намагається викликати перевстановлення, якщо сервіс її підтримує, якщо немає - виконує перезапуск сервісу
Виводить текстове повідомлення про стан сервісу і повертає код стану, який може застосовуватися для визначення стану сервісу
Всі команди повертають 0 в разі успішного завершення або код помилки, що позначає причину аварійного виходу. У разі параметра status повертається 0, якщо сервіс виконується; всі інші коди означають, що сервіс не запущений з якоїсь причини.