linux

Используем потоки в Linux C++

Каждый разработчик рано или поздно сталкивается с необходимостью создания потока. Ведь нельзя решить практически ни одну сложную задачу выполняя только одну задачу за раз.
В Linux имеется собственная реализация потоков. Для создания потока существует функция pthread_create:

Компиляция ядра Linux в Fedora

Сборка ядра не только ответственное но и весьма занятное дело. Опишу только процесс "в командах". Настраивать (включать/выключать модули будете сами, тут советчики врядли найдутся.

Для использования menuconfig необходимо установить ncurses:

sudo dnf install ncurses ncurses-devel

Теперь скачаем исходные коды ядра с сайта kernel.org. Я скачал последние на момент написания статьи - 3,0,0rc1 [давно дело то было ;)]. Распакуйте скачанный архив и войдите в папку из терминала.
Теперь запускаем конфигуратор:

Обработка сигналов в Linux на C++

Большинство программ не обрабатывает сигналы в явном виде, это скорее потому, что высокоуровневые библиотеки сами заботятся об этом. И программисту можно не беспокоится.
Но часто нужно написать консольную утилиту, или демон, которые просто обязаны уметь совладать с обработкой сообщений.

Монтирование разделов

Одной из прелестей операционных систем linux является система монтирования дополнительных разделов. Вы можете примонтировать любой раздел вашего компьютера в любую папку в уже имеющейся файловой системе!
Для этого используют утилиту mount, а для автоматического монтирования разделов при загрузке - файл fstab.

Прежде всего вам необходимо знать имя вашего устройства. Это можно сделать из графической оболочки: "Система" - "Администрирование" - "Дисковая утилита". Откроется такое окно:

Создаём копию процесса ( fork ) в Linux

Иногда возникает необходимость обрабатывать несколько клиентов или несколько потоков данных одновременно, для этого удобно воспользоваться форком процесса.
Плюсами данного подхода можно считать то, что при неудачном завершении или ошибке в коде, погибнет только один процесс, а не вся программа.
Итак приступим.
Заголовки:

#include <sys/types.h>
#include <unistd.h>
#include <iostream>
#include <stdio.h>
using namespace std;

И сразу приступим к наполнению функции main.
Объявим необходимые перменные: