Другое

Демонизация и демонизировать: что это, создание демон-процесса

Lorem ipsum dolor

Демонизация — это создание демон-процесса. Демонизировать — это создавать демон-процесс. Оба выражения связаны с термином «демон». Давайте сразу отметим, что слова «демон», «демонизация» и «демонизировать» могут использоваться в разных контекстах. Например, в  религиозном контексте или в контексте преобладания какой-то культуры или образа («демонизировать язык», «демонизировать человека» и др.). Нас же интересует применение этих терминов в программировании.

«Демон», «демонизировать», «демонизация» это термины, которые тесно связаны с UNIX-системами, то есть с дистрибутивами Linux. Если вы являетесь пользователем Линукса, значит вы уже сталкивались с этими выражениями. Если только собираетесь стать пользователем Линукс-систем, значит обязательно столкнетесь с этими выражениями. В любом случае вам будет полезно знать, что такое «демон», «демонизировать», «демонизация».

«Демон», «демонизировать», «демонизация» что это такое?

Демон — это небольшой запущенный фоновый процесс, который работает в UNIX-системе отдельно от общего терминала и создается он процессом «init». Процесс «init» в Линуксе — это процесс с идентификатором «1», который всегда запускается первым в системе. Это он:

  • проверяет файловую систему;

  • проверяет порты;

  • инициирует запуск фоновых процессов(демонов);

  • и др.

Все процессы, запущенные в Линуксе, являются потомками процесса «init», демоны в том числе.

Демоны работают все время, пока работает  операционная система: от момента ее запуска и до момента ее деактивации. У них нет графического интерфейса и, чтобы ими управлять, нужно уметь пользоваться терминалом либо иметь «под рукой» специальные программы. Самое важное, что задача демонов работать таким образом, чтобы их не замечал и не настраивал пользователь. Поэтому тем пользователям, которые самостоятельно настраивали демонов, эта статья не нужна.

По своему принципу, демоны в Линуксе идентичны службам операционной системы Windows. Там тоже для управления службами используется панель управления, либо специальные программы.

Для чего нужны демоны?

Как мы уже писали, что демоны — это фоновые процессы, которые являются потомками основного процесса «init». Чаще всего демоны «отвечают» за какие-то важные системные процессы. Например:

  • обработка сетевых запросов;

  • контроль своевременного запуска необходимых системных программ; 

  • прослушивание портов;

  • синхронизация файлов  на разных дисках;

  • отслеживание памяти;

  • «слежение» за работой аппаратных устройств, подключенных к компьютеру;

  • и другие процессы, где нужно «ждать и смотреть».

Демоны в Линуксе можно сравнить с работниками торгового зала в супермаркете, которые:

  • следят, чтобы полки постоянно были с товаром;

  • убирают торговое помещение, чтобы оно всегда было чистым;

  • «сидят на кассе»;

  • принимают и отгружают товар со склада;

  • и др.

То есть, демоны — это скрытые, но важные системные скрипты, которые следят за нормальной работой операционной системы. Без них не было бы стабильности в системе. Чаще всего демоны встроены в систему ее же разработчиками, однако если есть необходимость, тогда можно написать демон самостоятельно. Написать демон — это демонизировать какую-то собственную программу.

Как демонизировать собственную программу

Демонизировать собственную программу — это процесс не из самых легких. Просто написать программу и обозначить ее как «демон» не получится. Для этого нужно «поковыряться» в конфигурациях системы. 

Мы не зря писали, что демоны — это фоновые процессы, которые инициированы главным процессом «init» в Линукс-системах.  Из-за такого положения демонизировать собственную программу можно 2 способами:

  1. Спровоцировать создание демона процессом «init». То есть, это тот  случай, когда процесс «init» как бы самостоятельно создает новый демон.

  2. Клонировать уже существующий процесс, а потом адаптировать его «под себя» такой процесс возможен только с применением системных функций «clone()» и «fork()». 

 Демонизировать это очень простой процесс, если его описывать словами. Но на деле получается, что создать собственного в Линукс-системе очень не просто. Для этого нужно внимательно изучить «головной процесс» «init» и понимать устройство разветвления всех системных процессов. Поэтому практическое создание демона мы опишем в следующих статьях, чтобы не «раздувать» эту. 

Заключение

Можно ли демонизировать собственную программу? Можно, но нужно точно понимать для чего это делать, потому что демонизация — это непростой процесс и нужно понимать для чего ее проводить. С практической стороны, нет никаких ограничений, что мешало бы вам демонизировать собственную программу.

Демон в программировании не имеет ничего общего с религиозным демоном и никакого злого умысла в себе не несет, потому что это всего лишь программа.

Схожие статьи

DHCP или PPPoE: что лучше и в чем разница, что такое авторизация IpoE
Другое

DHCP или PPPoE: что лучше и в чем разница, что такое авторизация IpoE

Система журналирования: почему нужны журналы, методики журналирования
Другое

Система журналирования: почему нужны журналы, методики журналирования

Другое

Что такое роутер для ноутбука? Как использовать компьютер как роутер?

Симметрическая разность: основы и базовые операции над множествами
Другое

Симметрическая разность: основы и базовые операции над множествами