Я хочу знать, каковы различия в поведении демона, процесса и службы, работающих в Ubuntu.
Демоны - Демон не поддерживает Монитор Диска и Выполнения (http://www.takeourword.com/TOW146/page4.html). Они - процессы, которые работают в фоновом режиме и не являются интерактивными. У них нет терминала управления.
Они выполняют определенные действия в предопределенные времена или в ответ на определенные события. В *ОТКЛОНЯЮТ, названия конца демонов в d.
Сервисы - В Windows демонов называют сервисами.
Если Вы задаетесь вопросом, почему *ОТКЛОНЯЮТ, имеет команду, названную сервисом, это просто используется для выполнения init скриптов (сокращение от инициализации scriptrunlevel).
Процесс - Процесс является под управлением программой. В конкретный момент времени это может или работать, сон или зомби (завершенный процесс, но ожидание, поскольку это - родительский процесс для взятия возвращаемого значения).
Источники и дополнительная информация:
Демон - это фоновая неинтерактивная программа . Он отсоединен от клавиатуры и дисплея любого интерактивного пользователя. Слово «демон» для обозначения фоновой программы происходит из культуры Unix; оно не универсально.
Служба - это программа , которая отвечает на запросы других программ через некоторый механизм межпроцессного взаимодействия (обычно по сети). Служба - это то, что предоставляет сервер. Например, служба сопоставления портов NFS предоставляется как отдельная служба сопоставления портов, которая реализована как демон portmapd
.
Служба не должна быть демоном, но обычно это так. Пользовательское приложение с графическим интерфейсом может иметь встроенную службу: например, приложение для обмена файлами. Другим примером является служба X Window, которая работает не только в фоновом режиме: она захватывает ваш экран, клавиатуру и указывающее устройство. Это сервис, потому что он отвечает на запросы от приложений (для создания и управления окнами и т. Д.), Которые могут быть даже в других местах сети. Но служба X также реагирует на каждое нажатие клавиши и движение мыши.
Процесс - это один или несколько потоков выполнения вместе с их общим набором ресурсов, наиболее важными из которых являются адресное пространство и дескрипторы открытых файлов. Процесс создает среду для этих потоков выполнения, которая выглядит так, словно у них есть целая машина: это виртуальная машина.
Внутри процесса ресурсы других процессов и ядра невидимы и недоступны напрямую (по крайней мере, для потока, выполняющего код пользовательского пространства). Например, нет способа сослаться на открытые файлы другого процесса или их пространство памяти; как будто эти вещи даже не существуют.
Процесс и его отношение к ядру и другим процессам, возможно, составляют наиболее важную абстракцию в Unix-подобных операционных системах. Ресурсы системы разделены на процессы, и почти все понимается как происходящее внутри того или иного процесса.