В чем техническая разница между демоном, сервисом и процессом?

Я хочу знать, каковы различия в поведении демона, процесса и службы, запущенных в Ubuntu.

Демоны - Деймон делает нет стоять за Монитор диска и выполнения (http://www.takeourword.com/TOW146/page4.html). Это процессы, которые выполняются в фоновом режиме и не являются интерактивными. У них нет управляющего терминала.

Они выполняют определенные действия в заранее определенное время или в ответ на определенные события. В *NIX имена демонов заканчиваются на d.

Услуги - В Windows демоны вызываются услуги.

Если вам интересно, почему в *NIX есть команда с именем обслуживание, он просто используется для запуска сценариев инициализации (сокращение для инициализация scriptrunlevel).

Процесс - Процесс - это запущенная программа. В определенный момент времени это может быть либо бегущий, спящий, или зомби (завершенный процесс, но ожидающий, пока его родительский процесс получит возвращаемое значение).

Источники и дополнительная информация:

  1. A демон является фоновым, неинтерактивным программа. Он отделен от клавиатуры и дисплея любого интерактивного пользователя. Слово daemon для обозначения фоновой программы взято из культуры Unix; оно не является универсальным.

  2. A обслуживание это программа который отвечает на запросы от других программ через некоторый механизм межпроцессной связи (обычно по сети). Услуга - это то, что предоставляет сервер. Например, служба сопоставления портов NFS предоставляется как отдельная служба portmap, которая реализована как portmapd демон.

    Служба не обязательно должна быть демоном, но обычно так оно и есть. Пользовательское приложение с графическим интерфейсом может иметь встроенную в него службу: например, приложение для обмена файлами. Другим примером является служба X Window, которая работает совсем не в фоновом режиме: она управляет вашим экраном, клавиатурой и указательным устройством. Это сервис, потому что он отвечает на запросы от приложений (для создания и управления окнами и т.д.), Которые могут даже находиться в другом месте сети. Но служба X также реагирует на каждое ваше нажатие клавиши и движение мыши.

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

    Внутри процесса ресурсы других процессов и ядра невидимы и недоступны напрямую (по крайней мере, не для потока, который выполняет код пользовательского пространства). Например, нет никакого способа сослаться на открытые файлы другого процесса или их пространство в памяти; как будто этих вещей даже не существует.

    Процесс и его связь с ядром и другими процессами, возможно, представляют собой наиболее важную абстракцию в Unix-подобных операционных системах. Ресурсы системы разделены на процессы, и почти все понимается как происходящее внутри того или иного процесса.

@Tom: Нет, этот пост SE не отвечает на вопрос, что такое сервис. И в целом ответы здесь более подробные.

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

Это лучше подходит для StackOverflow, где это удобно уже было задано и на него дан ответ.

@TomBrossman, Сообщение, на которое вы ссылаетесь, ничего не говорит о ** услугах **.

А? как этот вопрос вообще может быть закрыт?