Другое

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

Lorem ipsum dolor

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

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

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

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

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

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

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

  • и др.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • и др.

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

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

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

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

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

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

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

Заключение

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

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

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

Как установить Андроид на Виртуал Бокс, образ Android для VirtualBox
Другое

Как установить Андроид на Виртуал Бокс, образ Android для VirtualBox

Как производятся разработки программного обеспечения по аутсорсингу
Другое

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

Атомарные операции в языке С: определение, суть и функции
Другое

Атомарные операции в языке С: определение, суть и функции

Bixby Samsung: что это и как работает. Обзор новых возможностей
Другое

Bixby Samsung: что это и как работает. Обзор новых возможностей

×