Работа с системными службами из консоли в Windows: создание, удаление, запуск, остановка и изменение параметров

Если Вас интересует вопрос: «Как удалить / создать свою службу в Windows?» - то эта статья несомненно Вам будет полезна. Это попытка собрать воедино всю найденную информацию, касающуюся настройки системных служб Windows через консоль. На все эти вопросы способна ответить одна единственная консольная команда Windows — sc. Команда sc имеет большое количество параметров, полный список которых можно посмотреть здесь. Наиболее востребованные будут приведены ниже.

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

Создание новой системной службы для любой программы

Для запуска программы в качестве системной службы в ОС Windows можно воспользоваться либо графической утилитой, либо консольной командой sc. Графическая утилита srvinstw.exe, выполненная в виде мастера конфигурации, очень проста в использовании и поэтому далее ее рассматривать мы не будем.

Ниже приведены примеры использования консольной команды sc, которая позволяет гибко настроить работу системных служб ОС Windows. Для запуска программы в качестве системной службы с помощью команды sc:

sc create имя_службы binpath= путь_до_исполняемого_файла start= параметр_запуска displayname= отображаемое_имя
Имя службы — это системное название создаваемой службы, выступающее в качестве уникального идентификатора. Если имя службы содержит пробелы, то название службы следует поместить в двойные кавычки.
Параметр запуска может принимать значение:
  • auto – автоматический старт при загрузке ОС;
  • demand — загрузка производится вручную при необходимости;
  • disabled — системная служба отключена.
Отображаемое имя — это имя службы, которое будет показываться для пользователя.
Пример:

Так выглядит команда для запуск прокси сервера Squid в качестве системной службы:

sc create squid binpath= C:/Squid/etc/squid.conf start= auto displayname= «Proxy server Squid»

Изменение параметров запуска службы

Для изменения параметров системной службы нужно ввести новые параметры командой:

sc config имя_службы start= параметр_запуска [displayname= отображаемое_имя]

Удаление системной службы

Для удаления системной службы из списка служб, требуется в консоли ввести команду:

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

Запуск, остановка и перезагрузка системной службы

Для того, чтобы запустить службу в ОС Windows нужно в консоли набрать:

net start имя_службы


Для остановки службы:

net stop имя_службы


Для перезагрузки службы:

net restart имя_службы

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен

Комментарии (10)

  • denis
    #

    SC create не работает

  • #

    >denis
    Вы мне, прямо, глаза открыли, я много раз это проделывал и все получалось, а тут оказывается, что не должно было, т.к. это не работает!!!
    Можете конкретный пример привести: где это не работает? С какой программой? Саму строку, которую набираете можете привести.

  • timmy
    #

    у меня тоже не работало, погуглил – нашел решение проблемы. После равно нужно ставить пробел

  • Mut@NT
    #

    timmy: у меня тоже не работало, погуглил – нашел решение проблемы. После равно нужно ставить пробел

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

    P.S. А еще говорят проблемы у Linux`а с сложным синтаксисом…

  • Rupreht
    #

    C:/Squid/etc/squid.conf – это конфиги с каких пор выполняемый стали. Умник сраный. Аффтор нах.

  • Mut@NT
    #

    Rupreht: C:/Squid/etc/squid.conf – это конфиги с каких пор выполняемый стали. Умник сраный. Аффтор нах.

    Ваши выкрики из толпы тут не кому не нужны. Если Вы не знаете как стартовать Squid в Windows, то не стоит показывать здесь свое незнание и невоспитанность

  • Mut@NT
    #

    Кстати, для Вас ссылка

  • Егор
    #

    Хорошая статья!! СПС!!

  • rigi
    #

    sc create AutoVPN binpath= “c:\Windows\System32\rasdial.exe NameInet NameUser Parol”
    Не работает служба:
    “Не удалось запустить службу AutoVPN на Локальный компьютер.
    Ошибка 1053: Служба не ответила на запрос своевременно” ???

  • Александр
    #

    rasdial.exe «NameInet» Login Password (имя подключения в кавычках!) лучше вставить в Планировщик задач с отсрочкой на 5 – 15 секунд (в зависимости от быстроты загрузки вашей Винды и наличия SSD). Задержка обязательна, иначе просто не успевают все нужные службы подгрузиться.