Несколько дней назад, когда я был занят написанием руководства, Chrome начал зависать, и мне пришлось открыть диспетчер задач, чтобы убить связанный процесс. Я понял, что есть еще одна вкладка под названием «Сервисы», и мне стало интересно, в чем разница между ними? Зачем вообще размещать эту вкладку в диспетчере задач, если вы можете убить приложение на вкладке «Процессы»?
Это прогнало мой мозг по кроличьей норе. Так в чем же разница между процессом и службой в Windows 10? Давайте узнаем, чем эти двое отличаются, зачем они нужны друг другу и чем они похожи.
Давайте начнем.
1. Насколько они разные
Процесс — это экземпляр компьютерной программы или приложения, которое вы открываете и запускаете на своем компьютере. Он может быть выполнен с использованием одного или нескольких потоков. Одна программа может запускать несколько процессов. Возьмем пример. Когда вы открываете Chrome, даже когда открыто одно окно, вы увидите несколько процессов Chrome в диспетчере задач на вкладке «Процессы».
Я заметил, что это верно для всех браузеров. В приведенном выше примере вы заметите, что в Brave Browser также запущено много процессов, хотя у меня не установлено ни одного расширения. В любом случае, процессы напрямую связаны с приложением, которое мы сейчас запускаем на нашем компьютере с Windows, они имеют пользовательский интерфейс для взаимодействия и обычно запускаются вручную.
Итак, когда я запускаю Skitch, запускается процесс. Другие примеры включают Skype, приложения MS Office, редакторы изображений и т. д.
Службы, с другой стороны, представляют собой компьютерную программу, которая работает в фоновом режиме независимо от того, открыто ли у вас приложение на переднем плане. Это означает, что они не совсем созданы или работают для конечных пользователей, но помогают программам выполнять свои задачи.
Сервисы не имеют пользовательского интерфейса. До Windows Vista у них был графический интерфейс, но он устарел. Служба обычно запускается самой операционной системой. Однако пользователь может запустить или перезапустить его вручную.
Службы также могут запускаться при выполнении условия, например, по событию. Примером события может быть запуск операционной системы. Например, регистрация событий, отчеты об ошибках, печать, оптимизация устройства и услуги, связанные с датчиками.
2. Чем они похожи
Давайте возьмем пример службы, которая также является процессом. У антивируса есть пользовательский интерфейс, но он также может работать на переднем плане. Это потому, что служба — это процесс, а процесс может быть службой, а может и не быть. Давайте погрузимся глубже.
Процесс — это экземпляр исполняемого файла. Вот почему каждый раз, когда вы открываете приложение, запускается как минимум один процесс.
С другой стороны, служба запускается как экземпляр процесса svchost.exe, в основном (DLL-файлы). Это хост-процесс службы Windows. Обратите внимание, что svchost также является исполняемым файлом, а узел службы сам по себе является процессом? Опять же, служба может быть процессом, но процесс может быть службой, а может и не быть.
Возьмем другой пример. Часы. Часы всегда работают на вашем компьютере, независимо от того, открыты они у вас или нет. Он также работает, когда ваш компьютер находится в спящем или спящем режиме. Черт, он всегда получает правильную дату и время, даже если вы выключаете компьютер на несколько часов.
Это потому, что это процесс со службой (W32Time), которая работает в фоновом режиме, и пользователю не нужно указывать ему, что делать. Однако вы можете отредактировать его по своему вкусу, если хотите использовать пользовательский интерфейс из настроек, который является процессом.
Службы вполне способны работать сами по себе без участия пользователя, в отличие от процессов, которым нужно указывать, что они должны делать. При установке пакета (файлов .msi) требуются службы установщика Windows, работающие в фоновом режиме. Но в основном процесс завершается, когда вы закрываете связанное с ним приложение. Служба продолжает работать в фоновом режиме, даже если у нее есть связанный процесс с закрытым пользовательским интерфейсом.
Еще одно важное отличие заключается в том, что процесс предназначен для работы, пока пользовательский интерфейс, окно графического интерфейса пользователя, открыт, в то время как служба предназначена для работы в течение длительного времени в фоновом режиме. Обычно службы также имеют больше прав администратора, чем процессы. Это связано с тем, что процесс является пользовательской службой (разработанной для конечного пользователя), а служба — службой Windows (разработанной для ОС Windows).
Например, есть некоторые приложения (пользовательские процессы), которые вы можете использовать, только если вы вошли в систему как пользователь с правами администратора. Однако службы (процессы Windows) работают в фоновом режиме независимо от профиля пользователя, который вы использовали для входа в систему. Опять же, часы — отличный пример, который работает для всех пользователей.
Предоставление услуги — это процесс
Процессы и сервисы — две стороны одной медали. Один разработан для конечного пользователя, а другой для системы. Таким образом, у одного есть графический интерфейс, а у другого нет. Иногда они перекрывают друг друга, и это когда служба запускает процесс, а не наоборот.
Следующий: Хотите узнать разницу между программой и приложением в Windows 10? Нажмите на ссылку ниже, чтобы узнать.