Como: Iniciar serviços

Observação

Este artigo não se aplica aos serviços hospedados no .NET. Para obter o conteúdo mais recente sobre os Serviços Windows usando Microsoft.Extensions.Hosting.BackgroundService e o modelo de Serviço de Trabalho, confira:

Depois que um serviço for instalado, ele precisará ser iniciado. O início chama o método OnStart na classe de serviço. Normalmente, o método OnStart define o trabalho útil que o serviço executará. Depois que um serviço é iniciado, ele permanece ativo até que ser colocado em pausa ou ser interrompido manualmente.

Os serviços podem ser configurados para serem iniciados automaticamente ou manualmente. Um serviço que é iniciado automaticamente será iniciado quando o computador no qual ele estiver instalado for reiniciado ou ligado pela primeira vez. Um serviço que é iniciado manualmente precisa ser iniciado por um usuário.

Observação

Por padrão, os serviços criados com o Visual Studio são definidos para serem iniciados manualmente.

Há várias maneiras de iniciar um serviço manualmente, por meio do Gerenciador de Servidores, do Gerenciador de Controle de Serviços ou do código usando um componente chamado ServiceController.

Você define a propriedade StartType na classe ServiceInstaller para determinar se um serviço deve ser iniciado manualmente ou automaticamente.

Especificar como um serviço deve ser iniciado

  1. Depois de criar o serviço, adicione os instaladores necessários para ele. Para obter mais informações, confira Como adicionar instaladores no seu aplicativo de serviço.

  2. No designer, clique no instalador do serviço com o qual você está trabalhando.

  3. Na janela Propriedades, defina a propriedade StartType para uma das opções a seguir:

    Para que o serviço seja instalado Defina esse valor
    Quando o computador é reiniciado Automática
    Quando uma ação explícita do usuário inicia o serviço Manual

    Dica

    Para impedir que o serviço seja iniciado, você pode definir a propriedadeStartTypeDesabilitado. Você poderá fazer isso quando pretender reiniciar um servidor várias vezes e desejar economizar tempo impedindo que sejam iniciados os serviços que normalmente seriam.

    Observação

    Essas e outras propriedades poderão ser alteradas depois que o serviço estiver instalado.

    Há várias maneiras de iniciar um serviço que tenha o processo StartType definido como Manual, usando o Gerenciador de Servidores, o Gerenciador de Controle de Serviços Windows ou o código. É importante observar que nem todos esses métodos realmente iniciam o serviço no contexto do Gerenciador de Controle de Serviços. O Gerenciador de Servidores e os métodos programáticos de iniciar o serviço realmente manipulam o controlador.

Iniciar um serviço usando o Gerenciador de Servidores

  1. No Gerenciador de Servidores, adicione o servidor desejado caso ele ainda não esteja listado. Para obter mais informações, consulte Como acessar e inicializar o Gerenciador de Servidores/Gerenciador de Banco de Dados.

  2. Expanda o nó Serviços e, em seguida, localize o serviço que você deseja iniciar.

  3. Clique com o botão direito do mouse no nome do serviço e, em seguida, selecione Iniciar.

Iniciar um serviço no aplicativo Serviços

  1. Abra o aplicativo Serviços.

  2. Selecione o serviço na lista, clique nele com o botão direito do mouse e, em seguida, selecione Iniciar.

Iniciar um serviço a partir de um código

  1. Crie uma instância da classe ServiceController e configure-a para interagir com o serviço que você deseja administrar.

  2. Chame o método Start para iniciar o serviço.

Confira também