2015-07-28 6 views
-1

Мне просто нужно создать пакетный файл, который может проверять службу каждую минуту, и как только служба перейдет в Stopped, чтобы закрыть окно CMD.Пакетный файл для обслуживания

Более ясно:

  1. Начало службы (не закрывайте окно CMD)
  2. Проверка каждые 1 мин статус
  3. службы После службы становится «Остановлено» статус закрыть окно CMD
+0

Вы можете перефразировать это как вопрос? – niallhaslam

+0

Возможный дубликат [Остановить и запустить службу через пакетный или cmd-файл?] (Http://stackoverflow.com/questions/133883/stop-and-start-a-service-via-batch-or-cmd-file) – wOxxOm

+0

это не связано с моим запросом ... – Merop4

ответ

1

команда SC (сервисное управление), она дает вам больше возможностей.

ОПИСАНИЕ: SC - это программа командной строки, используемая для связи с сервисным контроллером и службами обслуживания . http://www.robvanderwoude.com/sc.php

ПРИМЕНЕНИЕ: СБН [команда] [имя службы] ...

The option <server> has the form "\\ServerName" 
    Further help on commands can be obtained by typing: "sc [command]" 
    Commands: 
    query-----------Queries the status for a service, or 
        enumerates the status for types of services. 
    queryex---------Queries the extended status for a service, or 
        enumerates the status for types of services. 
    start-----------Starts a service. 
    pause-----------Sends a PAUSE control request to a service. 
    interrogate-----Sends an INTERROGATE control request to a service. 
    continue--------Sends a CONTINUE control request to a service. 
    stop------------Sends a STOP request to a service. 
    config----------Changes the configuration of a service (persistant). 
    description-----Changes the description of a service. 
    failure---------Changes the actions taken by a service upon failure. 
    qc--------------Queries the configuration information for a service. 
    qdescription----Queries the description for a service. 
    qfailure--------Queries the actions taken by a service upon failure. 
    delete----------Deletes a service (from the registry). 
    create----------Creates a service. (adds it to the registry). 
    control---------Sends a control to a service. 
    sdshow----------Displays a service's security descriptor. 
    sdset-----------Sets a service's security descriptor. 
    GetDisplayName--Gets the DisplayName for a service. 
    GetKeyName------Gets the ServiceKeyName for a service. 
    EnumDepend------Enumerates Service Dependencies. 

    The following commands don't require a service name: 
    sc <server> <command> <option> 
    boot------------(ok | bad) Indicates whether the last boot should 
        be saved as the last-known-good boot configuration 
    Lock------------Locks the Service Database 
    QueryLock-------Queries the LockStatus for the SCManager Database 

Пример: подкожно начать MyService

+0

В частности, 'for/f" tokens = 1,4 "%% a in ('sc query SERVICENAME'), если %% a == STATE, установленное STATE = %% b', установит' STATE' в 'RUNNING' или 'STOPPED' (а иногда и некоторые другие). Затем вы можете построить это в соответствующий цикл. – TripeHound

+0

Привет, я не хочу останавливать службу, служба знает, что сама по себе останавливается через минуту, мне просто нужно, чтобы файл CMD оставался открытым, пока служба «работает» после того, как она стала «остановлена» Закрыть окно CMD – Merop4

+0

Я создал этот : @echo от чистый старт "XXXX" : 1 таймаут 10 для/ф "токенов = 4" %% а в ('СБН XXXX^| Findstr ГОСУДАРСТВО') делать ( эхо %% , если% % в == RUNNING эхо службы составляет если %% в == ХОДОВЫХ Goto: 1 ) выход действительно запустить службу, но не работает хорошо – Merop4

Смежные вопросы