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


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


106
2017-09-23 10:10


происхождения


Это лучше подходит для StackOverflow, где удобно уже спросили и ответили, - Tom Brossman
@Tom: Нет, этот пост SE не отвечает на то, что такое служба. И в целом ответы здесь более сложны. - Mads Skjern
@TomBrossman, Сообщение, которое вы связали, ничего не говорит о Сервисы, - Pacerier
StackOverflow о кодировании. деамоны - это штука unix, нет лучшего места, чтобы спросить, чем здесь - Mr.Robot


ответы:


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

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

Сервисы - В Windows называются демоны Сервисы,

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

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

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


109
2017-09-23 10:23



Процессы имеют еще несколько состояний в Linux, вот отличная диаграмма: linux-tutorial.info/modules.php?name=MContent&pageid=84 - Dietrich Epp
В этой официальной документации Ubuntu говорится о «услугах», и я думаю, что они не говорят о Windows! Так что я должен просто читать это как демон? help.ubuntu.com/community/UbuntuBootupHowto - Mads Skjern
Фактически OP запрашивает об услугах в Ubuntu, в то время как этот ответ рассказывает об услугах в Windows. Поэтому, очевидно, ответ Анона правильный - Mads Skjern
в соответствии с serverfault.com/questions/129055/... демоны и сервисы - это не то же самое - Mr.Robot


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

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

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

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

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

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


37
2017-09-23 16:06



Не могли бы вы получить память других процессов, запросив непосредственно для ОЗУ системы? - Pacerier
Обычно процесс не может запрашивать непосредственно для ОЗУ системы. Современные ОС используют виртуальные адресные пространства (en.wikipedia.org/wiki/Virtual_address_space), что означает, что каждый процесс может взаимодействовать только с поддельным видом памяти, где ОС точно контролирует доступность. - akroy
«Процесс создает среду для этих потоков выполнения, которая выглядит так, будто у них есть целая машина для себя: это виртуальная машина». Очень хороший способ положить это, никогда не думал об этом так ясно. Но, конечно, абстракция протекает. Например, процесс, который может измерять время (что он может сделать через процессор даже), может заметить, что он не одинок на машине. И, конечно же, ОС предоставляет механизмы для перечисления других процессов. - masterxilo