Тема: «Запуск приложения в качестве службы ОС Windows» — КиберПедия 

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Тема: «Запуск приложения в качестве службы ОС Windows»

2021-03-17 304
Тема: «Запуск приложения в качестве службы ОС Windows» 0.00 из 5.00 0 оценок
Заказать работу

Курсовой проект

По дисциплине: Операционные системы

Тема: «Запуск приложения в качестве службы ОС Windows»

 

 

Выполнил студент: Юнусов Ы.

Группа: Б2311

Руководитель: СТ.ПР. Маковий К.А.

Защищен             «__» __________2019г.

С оценкой      _______   _________

                                                                                                                               (подпись)

 

 

Воронеж 2019

 

Содержание

ВВЕДЕНИЕ. 3

1 Изучение предметной области. 5

1.1 Понятие операционной системы.. 7

1.2 Операционная система Windows. 9

1.3 Управление службами. 11

2 Реализация запуска приложения в качестве службы Windows. 13

2.1 Создание службы Windows. 14

2.2 Управление службой Windows. 18

2.3 Запуск службы в интерактивном режиме. 20

ЗАКЛЮЧЕНИЕ. 24

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 25


ВВЕДЕНИЕ

Современный мир невозможно представить без новых технологий и компьютеров, они составляют неотъемлемую часть нашей жизни.

Каждый день мы выполняем различные задачи на персональных компьютерах, ноутбуках и прочей технике, и у нас может возникнуть желание запустить приложение как системную службу, учитывая, что в некоторые программы такая возможность встроена по умолчанию. у пользователя может возникнуть вопрос для чего нужно создание приложения в виде службы и какие преимущества оно дает? Клиентские приложения привязаны к сеансу пользователя. Пользователь запускает приложение и останавливает его, а при завершении сеанса и выходе пользователя все приложения, запущенные от его имени, завершаются. Служба же управляется операционной системой и не зависит от наличия пользователя. Подобный принцип работы используется в серверных приложениях. Однако не каждое консольное приложение сможет запуститься как служба, а программы с графическим интерфейсом в принципе не умеют работать подобным образом. Но возможность запустить приложение как службу все же есть.

В данном курсовом проекте я рассматриваю как можно создать службу, управлять ей и удалять. Так же рассмотрим запуск службы в интерактивном режиме.

Выбранная мной тема является актуальной для многих пользователей операционной системы Windows.

Целью настоящей работы является закрепление знаний, получаемых в процессе изучения дисциплины, приобретение необходимых практических навыков самостоятельной работы с операционной системой Windows.

Запускать приложение в качестве службы мы будем с помощью программы NSSM (Non-Sucking Service Manager). NSSM представляет из себя свободное программное обеспечение с открытым кодом и поддерживает все операционные системы Microsoft, начиная с Windows 2000 и заканчивая Windows 10.


 

Изучение предметной области

                                                                   

Microsoft Windows (англ. windows — окна) — семейство операционных систем корпорации Майкрософт (Microsoft), ориентированных на применение графического интерфейса при управлении. Изначально были представлены многофункциональными надстройками для MS-DOS.

Операционная система Windows обеспечивает значительные удобства для программистов и пользователей [2]. Большинство поль­зователей компьютеров используют Windows в своей работе. Ши­рочайшее распространение ОС Microsoft Windows сделало ее фак­тическим стандартом для компьютеров класса IBM.

К концу 2017 года Windows 10 не смогла опередить Windows 7 и стать самой популярной компьютерной операционной системой в мире. Об этом свидетельствуют данные сервиса NetMarketShare, который берет в рассмотрение данные 160 млн уникальных пользователей, просматривающих более 40 тыс. веб-ресурсов по всему миру.

По итогам декабря 2018 года Windows 10 оказалась установлена почти на 45% десктопов и ноутбуков в глобальном масштабе против 23% годом ранее. Доля Windows 7 хотя и сократилась за год - с 47,7% до 43,1%, но все равно осталась выше, чем у более свежей платформы [7].

 В ОС Windows гораздо лучше, чем в других операционных си­стемах:

- налажено взаимодействие между пользователем и компью­тером;

- большинство повседневных задач выполняются с меньшими, чем когда-либо, затратами времени;

- решена значительная часть проблем с распределением памя­ти;

- встроенная сетевая поддержка значительно упрощает задачу надежного обмена информацией по компьютерным сетям;

- предусмотрена возможность присваивать папкам и файлам длинные и даже русские имена, что значительно облегчает работу пользователя;

- поддержка в Windows стандарта «plug-and-play» упрощает модернизацию оборудования;

- система ярлыков помогает быстро обращаться к часто исполь­зуемым файлам, программам и папкам;

- и пр.

Большая часть всего этого доступна без ущерба для производи­тельности ПК. А многие процессы, например печати, идут теперь гораздо быстрее благодаря 32-битному режиму и другим усовер­шенствованиям.

В отличие от DOS, Windows не только обеспечивает пользовате­лям удобный и наглядный интерфейс для операций с файлами, дис­ками и пр., но и предоставляет новые возможности для запускаемых в «родной» среде программ.

Одними из основных целей разработчиков Windows являются:

- создание документированного интерфейса;

- резкое снижение требований к подготовке пользователя;

- упрощение работы на компьютере.

Следует также признать, что интерфейс Windows обладает мас­сой достоинств. Предусмотрено все или почти все для удобной и безопасной работы. Почти любую операцию можно выполнить множеством способов, а продуманная система подсказок, сообщений и предупреждений поддерживает пользователя в течение всего се­анса работы.


Управление службами

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

Для управления службами служит оснастка mmc «Службы». Чтобы ее найти, воспользуйтесь поиском по слову Службы в меню Пуск или на Панели управления. Другой способ запуска оснастки управления службами – ввести команду services. msc в строке поиска меню Пуск.

После запуска оснастки Службы вы можете просматривать список установленных служб, запускать и останавливать их, а также изменять параметры работы выбранной службы. Все описанные действия можно выполнить в окне свойств конкретной службы, которое вызывается двойным щелчком на ее имени.

Окно свойств службы содержит несколько вкладок. На вкладке Общие вы можете узнать основные сведения о выбранной службе: имя, описание, исполняемый файл службы и ее текущее состояние. Для изменения состояния службы предназначены кнопки Запустить, Остановить, Приостановить и Продолжить.

Для управления службами в Windows существует графическая утилита - службы (services.msc), для ее запуска необходимо перейти:

Панель управления (Control Panel) --> Администрирование (Administrative Tools) --> Службы (Services) или в строке поиска меню Пуск (Start) ввести services.msc.

Из этой консоли можно просматривать, запускать, останавливать, изменять параметры и тип запуска служб.

Различные варианты запуска служб.

1) Автоматически (отложенный запуск) - служба будет запущена спустя некоторое время после старта операционной системы, используется для служб, ненужных при загрузке операционной системы, позволяет оптимизировать процесс загрузки.

2) Автоматически - служба будет запущена при старте операционной системы.

3) Вручную - служба запускается пользователем, приложениями или другими службами.

4) Отключена – службу нельзя запустить.

Примечание: Существует еще один вариант (обязательная служба) - автоматически запускается и пользователь не может остановить эту службу).

Службами window можно управлять не только используя графическую утилиту, но и из командной строки windows cmd. Для запуска переходим в пункт меню: Пуск --> Выполнить --> В строку вводим команду cmd.exe. Ниже приведу команды для управления службами [5].

· Остановка службы:

      sc stop [имя_службы]

· Запуск службы:

sc start [имя_службы]

· Удаление службы:

sc delete [имя_службы]

· Запрос данных конфигурации для службы:

sc qc [имя_службы]

· Просмотр всех служб:

sc query

Особенностью служб является то, что они запускаются от имени пользователя LocalSystem - обладающего полными правами в системе.

Список всех служб расположен в ветке реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

 

Создание службы Windows

Запуск приложения блокнот Windows в качестве службы на Windows 8.1.  осуществим с помощью программы NSSM.

Для создания службы с именем notepad необходимо запустить командную консоль (строку), перейти в папку с распакованным NSSM (для 64-разрядной Windows) и ввести команду nssm install notepad, которая открывает окно графического инсталлятора NSSM. Чтобы создать службу, достаточно в поле Path указать путь к исполняемому файлу и нажать кнопку «Install service». Дополнительно в поле Options можно указать ключи, необходимые для запуска службы (рис 1).

 

Рисунок 1 — Окно запуска графического инсталлятора NSSM.

 

Также на этапе создания новой службы можно указать некоторые дополнительные параметры.

На вкладке «Shutdown» перечислены методы остановки и таймауты, используемые при штатном завершении работы или аварийной остановке приложения (рис 2).  Когда NSSM получает команду остановки (напр. при завершении работы приложения), то он пытается остановить контролируемое приложение штатным образом. Если же приложение не отвечает, то NSSM может принудительно завершить все процессы и подпроцессы этого приложения.

Всего есть четыре этапа завершения работы приложения, и по умолчанию они будет использоваться в таком порядке [4]:

· На первом этапе NSSM пытается сгенерировать и отправить событие Ctrl+C. Этот способ хорошо работает для консольных приложений или скриптов, но не применим для графических приложений;

· Затем NSSM определяет все окна, созданные приложением, и посылает им сообщение WM_CLOSE, инициирующее выход из приложения;

· Третьим этапом NSSM вычисляет все потоки, созданные приложением, и отправляет им сообщение WM_QUIT, которое будет получено если приложение имеет очередь сообщений потока;

· И в качестве последнего средства NSSM может вызвать метод TerminateProcess(), принудительно завершив работу приложения.

 

Рисунок 2 — Настройки выключения службы в NSSM.

 

 Возможно отключить некоторые или даже все методы, однако для разных приложений срабатывают разные методы и для корректного завершения работы приложения рекомендуется оставить все как есть.

По умолчанию при падении службы NSSM пытается перезапустить ее. На вкладке «Exit actions» можно изменить автоматическое действие при нештатном завершении работы приложения, а также выставить задержку перед автоматическим перезапуском приложения (рис 3).

 

Рисунок 3 — Настройки выходя для службы NSSM

 

На вкладке «Input/Output (I/O)» можно задать перенаправление ввода\вывода приложения в указанный файл (рис 4).

 

Рисунок 5 — Вкладка I/O в NSSM

 

На вкладке «Environment» можно задать для службы новые переменные окружения, или переопределить существующие (рис 6).

Рисунок 6 — Вкладка Environment в NSSM

 

Также можно не пользоваться графической оболочкой и сразу создать службу в консоли такой командой: nssm install notepad ″C:\Windows\system32\notepad.exe″


 

Управление службой Windows

После создания службы с помощью NSSM зайдем в оснастку Службы и найдем notepad. Как мы видим, с виду она ничем не отличается от остальных служб, мы также можем ее запустить, остановить или изменить режим запуска. Однако стоит обратить внимание, что в качестве исполняемого файла указан nssm.exe (рис 7).

Рисунок 7 — Свойства службы

 

А если зайти в Диспетчер задач, то мы увидим следующее: в качестве основного (родительского) процесса запущен NSSM, служба notepad запущена как его дочерний процесс, и уже в этом дочернем процессе запущено приложение Блокнот (рис 8).

 

 

Рисунок 8 — Служба NSSM в диспетчере задач

 

Для удаления службы вводим команду nssm remove notepad в командной строке и подтверждаем ее удаление (рис 9).  

Рисунок 9 — Удаление службы в NSSM

 

Так же есть способ удаления службы без подтверждения, для этого необходимо ввести команду nssm remove notepad confirm.

ЗАКЛЮЧЕНИЕ

 

В заключении хочется отметить, что запуск приложения в качестве службы Windows в отличие от назначенных заданий работает постоянно, запускается при старте ПК и может контролироваться диспетчером служб Windows. Также сервис работает быстрее и занимает меньше памяти.

В данном курсовом проекте я рассмотрела, как можно создать службу, управлять ей и удалять ее. Также рассмотрела запуск службы в интерактивном режиме. И закрепила знания, получаемые в процессе изучения дисциплины, приобрела необходимые практические навыки самостоятельной работы с операционной системой Windows.


 

Курсовой проект

По дисциплине: Операционные системы

Тема: «Запуск приложения в качестве службы ОС Windows»

 

 

Выполнил студент: Юнусов Ы.

Группа: Б2311

Руководитель: СТ.ПР. Маковий К.А.

Защищен             «__» __________2019г.

С оценкой      _______   _________

                                                                                                                               (подпись)

 

 

Воронеж 2019

 

Содержание

ВВЕДЕНИЕ. 3

1 Изучение предметной области. 5

1.1 Понятие операционной системы.. 7

1.2 Операционная система Windows. 9

1.3 Управление службами. 11

2 Реализация запуска приложения в качестве службы Windows. 13

2.1 Создание службы Windows. 14

2.2 Управление службой Windows. 18

2.3 Запуск службы в интерактивном режиме. 20

ЗАКЛЮЧЕНИЕ. 24

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 25


ВВЕДЕНИЕ

Современный мир невозможно представить без новых технологий и компьютеров, они составляют неотъемлемую часть нашей жизни.

Каждый день мы выполняем различные задачи на персональных компьютерах, ноутбуках и прочей технике, и у нас может возникнуть желание запустить приложение как системную службу, учитывая, что в некоторые программы такая возможность встроена по умолчанию. у пользователя может возникнуть вопрос для чего нужно создание приложения в виде службы и какие преимущества оно дает? Клиентские приложения привязаны к сеансу пользователя. Пользователь запускает приложение и останавливает его, а при завершении сеанса и выходе пользователя все приложения, запущенные от его имени, завершаются. Служба же управляется операционной системой и не зависит от наличия пользователя. Подобный принцип работы используется в серверных приложениях. Однако не каждое консольное приложение сможет запуститься как служба, а программы с графическим интерфейсом в принципе не умеют работать подобным образом. Но возможность запустить приложение как службу все же есть.

В данном курсовом проекте я рассматриваю как можно создать службу, управлять ей и удалять. Так же рассмотрим запуск службы в интерактивном режиме.

Выбранная мной тема является актуальной для многих пользователей операционной системы Windows.

Целью настоящей работы является закрепление знаний, получаемых в процессе изучения дисциплины, приобретение необходимых практических навыков самостоятельной работы с операционной системой Windows.

Запускать приложение в качестве службы мы будем с помощью программы NSSM (Non-Sucking Service Manager). NSSM представляет из себя свободное программное обеспечение с открытым кодом и поддерживает все операционные системы Microsoft, начиная с Windows 2000 и заканчивая Windows 10.


 

Изучение предметной области

                                                                   

Microsoft Windows (англ. windows — окна) — семейство операционных систем корпорации Майкрософт (Microsoft), ориентированных на применение графического интерфейса при управлении. Изначально были представлены многофункциональными надстройками для MS-DOS.

Операционная система Windows обеспечивает значительные удобства для программистов и пользователей [2]. Большинство поль­зователей компьютеров используют Windows в своей работе. Ши­рочайшее распространение ОС Microsoft Windows сделало ее фак­тическим стандартом для компьютеров класса IBM.

К концу 2017 года Windows 10 не смогла опередить Windows 7 и стать самой популярной компьютерной операционной системой в мире. Об этом свидетельствуют данные сервиса NetMarketShare, который берет в рассмотрение данные 160 млн уникальных пользователей, просматривающих более 40 тыс. веб-ресурсов по всему миру.

По итогам декабря 2018 года Windows 10 оказалась установлена почти на 45% десктопов и ноутбуков в глобальном масштабе против 23% годом ранее. Доля Windows 7 хотя и сократилась за год - с 47,7% до 43,1%, но все равно осталась выше, чем у более свежей платформы [7].

 В ОС Windows гораздо лучше, чем в других операционных си­стемах:

- налажено взаимодействие между пользователем и компью­тером;

- большинство повседневных задач выполняются с меньшими, чем когда-либо, затратами времени;

- решена значительная часть проблем с распределением памя­ти;

- встроенная сетевая поддержка значительно упрощает задачу надежного обмена информацией по компьютерным сетям;

- предусмотрена возможность присваивать папкам и файлам длинные и даже русские имена, что значительно облегчает работу пользователя;

- поддержка в Windows стандарта «plug-and-play» упрощает модернизацию оборудования;

- система ярлыков помогает быстро обращаться к часто исполь­зуемым файлам, программам и папкам;

- и пр.

Большая часть всего этого доступна без ущерба для производи­тельности ПК. А многие процессы, например печати, идут теперь гораздо быстрее благодаря 32-битному режиму и другим усовер­шенствованиям.

В отличие от DOS, Windows не только обеспечивает пользовате­лям удобный и наглядный интерфейс для операций с файлами, дис­ками и пр., но и предоставляет новые возможности для запускаемых в «родной» среде программ.

Одними из основных целей разработчиков Windows являются:

- создание документированного интерфейса;

- резкое снижение требований к подготовке пользователя;

- упрощение работы на компьютере.

Следует также признать, что интерфейс Windows обладает мас­сой достоинств. Предусмотрено все или почти все для удобной и безопасной работы. Почти любую операцию можно выполнить множеством способов, а продуманная система подсказок, сообщений и предупреждений поддерживает пользователя в течение всего се­анса работы.



Поделиться с друзьями:

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.065 с.