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

90

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

    
задан krupal6022 23.09.2012 в 12:10
источник

2 ответа

94

Демоны . Демон создает не стенд для Дискового и Execution Monitor ( Ссылка ). Это процессы, которые работают в фоновом режиме и не являются интерактивными. У них нет контрольного терминала.

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

Сервисы . В Windows демоны называются службами .

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

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

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

ответ дан green 23.09.2012 в 12:23
источник
32
  1. A daemon - это фоновая, неинтерактивная программа . Он отсоединяется от клавиатуры и дисплея любого интерактивного пользователя. Демон-слово для обозначения фоновой программы - это культура Unix; он не универсален.

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

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

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

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

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

ответ дан Anon 23.09.2012 в 18:06