23Aug

Como executar qualquer programa como um serviço em segundo plano no Windows

Se você é como a maioria dos usuários do Windows, você tem muitos utilitários pequenos que funcionam quando você inicia o Windows. Embora isso seja ótimo para a maioria dos aplicativos, há alguns que seriam bons para começar mesmo antes de um usuário fazer logon no PC.Para fazer isso, você precisará executar o aplicativo como um serviço do Windows.

Os serviços do Windows são uma classe especial de programas que estão configurados para serem iniciados e executados em segundo plano, geralmente sem qualquer tipo de interface de usuário e sem precisar que um usuário faça logon no PC.Muitos jogadores e usuários avançados os conhecem como aquelas que você usou para desabilitar para ajudar a acelerar seu sistema, embora isso não seja mais necessário.

A principal vantagem de executar um aplicativo como um serviço é que você pode iniciar um programa antes de um usuário efetuar o login. Isso pode ser particularmente importante para aplicativos que fornecem serviços importantes que você deseja estar disponível quando você estiver longe do seu computador.

ARTIGOS RELACIONADOS
Compreender e gerenciar os serviços do Windows
Se você desativar os serviços do Windows para acelerar o seu PC?

Um exemplo perfeito disso é o Plex, um aplicativo de servidor de mídia que pode transmitir conteúdo local para qualquer dispositivo que você possui. Claro, você poderia deixá-lo sentado na bandeja do sistema como um programa normal, mas e se o computador reiniciar devido a uma interrupção de energia ou atualizações agendadas? Até você voltar a entrar no PC, a Plex não estaria disponível. Isso é irritante se você tiver que correr para outra sala para começar o Plex, enquanto a sua pipoca fica com frio e super irritante se você estiver fora da cidade e tentar transmitir sua mídia pela Internet. Configurar o Plex como um serviço resolveria esse problema.

Antes de começar, você deve estar ciente de algumas advertências importantes para executar um aplicativo como um serviço:

  • O aplicativo não colocará um ícone na bandeja do sistema. Se você precisar da interface disponível regularmente para um aplicativo, pode não ser mais adequado para ser executado como um serviço.
  • Quando você precisa fazer alterações ou atualizações de configuração, você precisará parar o serviço, executar o programa como um aplicativo regular, fazer o que precisa fazer, interromper o programa e, em seguida, iniciar o serviço novamente.
  • Se o programa já estiver configurado para ser executado quando o Windows for iniciado, você precisará desativá-lo para que você não acabe com duas instâncias em execução. A maioria dos programas tem uma opção na interface para alternar essa configuração. Outros podem adicionar-se à sua pasta de inicialização, para que você possa removê-los.

Pronto para rolar? Vamos falar sobre como configurá-lo.

Passo Um: Instalar SrvStart

Para executar um aplicativo como um serviço, você precisará de um pequeno utilitário de terceiros. Há vários lá fora, mas nosso favorito é SrvStart. Ele foi projetado originalmente para o Windows NT e funcionará com qualquer versão do Windows a partir do Windows XP.

Para começar, vá até a página de download do SrvStart e pegue o utilitário. O download contém apenas quatro arquivos( dois DLL e dois arquivos EXE).Não há instalador;Em vez disso, copie estes para a pasta C: \ Windows do seu computador para sua pasta principal do Windows para "instalar" SrvStart.

Também vamos assumir que você já instalou e configurou o programa que você vai se transformar em um serviço, mas, se não o fez, agora seria um bom momento para fazer isso também.

Passo dois: Crie um arquivo de configuração para o novo serviço

Em seguida, você quer criar um arquivo de configuração que SrvStart lê para criar o serviço. Há muito que você pode fazer com SrvStart, e você pode ler os detalhes completos sobre todas as opções de configuração na página de documentação. Para este exemplo, só vamos usar dois comandos: inicialização, que especifica o programa para iniciar e shutdown_method, que informa SrvStart como fechar o programa quando o respectivo serviço é interrompido.

Fireup Notepad e crie seu arquivo de configuração usando o formato abaixo. Aqui, estamos usando o Plex, mas você pode criar um arquivo para qualquer programa que você deseja executar como um serviço. O comando de inicialização simplesmente especifica o caminho onde o arquivo executável reside. Para o comando shutdown_method, estamos usando o parâmetro winmessage, que faz com que SrvStart envie uma mensagem de fechamento do Windows para qualquer janela aberta pelo serviço.

[Plex] startup = "C: \ Arquivos de Programas( x86) \ Plex \ Plex Media Server \ Plex Media Server.exe" shutdown_method = winmessage

Obviamente, ajuste o caminho e o nome de acordo com o programa que você está iniciando.

Salve o novo arquivo de configuração onde quiser e substitua a extensão. txt por uma extensão. ini. Anote o nome do arquivo, já que precisamos dele no próximo passo. Para facilitar a digitação no prompt de comando, sugerimos que você salve esse arquivo temporariamente em sua unidade C: .

Passo três: use o prompt de comando para criar o novo serviço

O próximo passo é usar o comando do Controlador de Serviço do Windows( SC) para criar o novo serviço com base nos critérios em seu arquivo de configuração. Abra o prompt de comando clicando com o botão direito do mouse no menu Iniciar( ou pressionando Windows + X), escolhendo "prompt de comando( Admin)" e, em seguida, clicando em Sim para permitir que ele seja executado com privilégios administrativos.

No prompt de comando, use a seguinte sintaxe para criar o novo serviço:

SC CREATE & lt; servicename & gt;Displayname = "& lt; servicename & gt;"binpath = "srvstart.exe & lt; servicename & gt; -c & lt; caminho para srvstart config file & gt;"start = & lt; starttype & gt;

Há algumas coisas a serem observadas nesse comando. Primeiro, cada signo igual( =) tem um espaço depois dele. Isso é necessário. Além disso, o & lt; servicename & gt;O valor depende inteiramente de você.E, finalmente, para o & lt; starttype & gt;valor, você deseja usar o automóvel para que o serviço seja iniciado automaticamente com o Windows.

Então, em nosso exemplo Plex, o comando ficaria assim:

SC CRIAR Plex Displayname = "Plex" binpath = "srvstart.exe Plex -c C: PlexService.ini" start = auto

Sim, você leu direito: Iusado C: PlexService.ini em vez de C: \ PlexService.ini. O comando requer que você remova a barra.

Quando você executa o comando, você deve receber uma mensagem SUCCESS se tudo correr bem.

A partir deste ponto, seu novo serviço será executado sempre que o Windows for iniciado. Se você abrir a interface do Windows Services( basta clicar em Iniciar e digitar "Serviços"), você pode encontrar e configurar o novo serviço como você faria com outros.

E isso é tudo aí.Se você tem aplicativos que começam com o Windows e prefere que eles comecem sem precisar de um usuário para fazer login, é fácil converter qualquer aplicativo em um serviço. Nós apenas tocamos o método básico para criar e executar um novo serviço, mas há muito mais que você pode fazer com SrvStart para ajustar o funcionamento de um serviço. Certifique-se de verificar a documentação se desejar aprender mais.