Este artigo apresenta dois métodos confiáveis para criar um Serviço do Windows: usando o Prompt de Comando (CMD) e o Non-Sucking Service Manager (NSSM). Você aprenderá passo a passo, comparações de recursos e práticas recomendadas sob a perspectiva de técnicos e gamers. Ao final, poderá transformar qualquer aplicativo comum em um serviço de segundo plano estável e automatizado.
Você já quis que um programa continuasse funcionando mesmo quando nenhum usuário está logado? Ou talvez você gerencie um servidor de jogos e precise que ele permaneça ativo sem deixar uma sessão da área de trabalho aberta. A resposta é um Serviço do Windows.
Um Serviço do Windows é um programa especial que opera nos bastidores do sistema operacional. Ele não tem janela, nem entrada na barra de tarefas e não requer interação do usuário. Os serviços são controlados pelo Gerenciador de Controle de Serviços (SCM), que é responsável por iniciar, parar e monitorar cada serviço. Mais interessante: você pode configurar um serviço para ser executado desde a inicialização do computador, antes mesmo de fazer login.
Um gamer profissional ou técnico de sistemas não pode ignorar o poder dos Serviços do Windows. Esta é a base da automação no Windows.
Infelizmente, nem todo programa pode se tornar um serviço diretamente. Aplicativos comuns geralmente falham porque não respondem corretamente aos comandos de parada ou pausa do SCM. Portanto, você precisa de métodos específicos. As duas maneiras mais eficazes são usando o utilitário integrado sc.exe (CMD) e a ferramenta de terceiros chamada NSSM. Ambas têm suas vantagens. Vamos examinar cada uma.
O que é um Serviço do Windows e por que criar um?
Tecnicamente, um Serviço do Windows é executado em uma sessão especial não interativa (sessão 0) isolada da área de trabalho do usuário. Esse isolamento mantém o serviço ativo mesmo quando você sai ou troca de usuário. O SCM armazena cada serviço no registro em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Lá você encontrará o tipo de inicialização (automático, manual, desabilitado), a conta de execução e as opções de recuperação em caso de falha.
Quando você deve criar seu próprio Serviço do Windows? Aqui estão cenários comuns para profissionais e gamers:
- Executar servidores de jogos dedicados (Minecraft, Valheim, ARK) para que o servidor fique online 24/7 sem a necessidade de uma área de trabalho aberta.
- Automatizar scripts de backup para NAS ou nuvem.
- Monitorar recursos de rede ou temperaturas de componentes.
- Executar bots do Discord ou Telegram como serviços de segundo plano.
- Adaptar aplicativos legados que precisam operar continuamente sem intervenção humana.
Antes de praticar, prepare o arquivo executável (.exe) ou em lote (.bat) que deseja transformar em serviço. Certifique-se de que o arquivo foi testado e funciona normalmente quando executado diretamente. Não use um arquivo que exija entrada contínua do teclado, pois um serviço não tem acesso a uma área de trabalho interativa (a menos que você defina permissões especiais).
Método 1: Criar um Serviço do Windows usando CMD (sc.exe)
O Prompt de Comando fornece uma ferramenta poderosa chamada sc.exe (Controlador de Serviços). Este utilitário está disponível desde o Windows XP e não precisa de instalação. Sua desvantagem é que o sc.exe não suporta reinicialização automática e não é amigável para aplicativos com interface gráfica. No entanto, para cenários simples como executar scripts em lote ou aplicativos de console, este método é muito rápido.
Etapas detalhadas usando CMD
1. Abra o CMD como administrador. Pressione a tecla Windows, digite “cmd”, clique com o botão direito e selecione “Executar como administrador”. Sem direitos de administrador, o sc.exe não pode criar um serviço.
2. Digite a sintaxe básica abaixo. Preste muita atenção aos espaços e aspas.
sc.exe create <nome_servico> displayname= <nome_exibicao> binpath= <caminho_executavel>
Explicação dos parâmetros:
- nome_servico : Nome interno único, sem espaços. Exemplo:
ServidorMinecraft. - nome_exibicao : O nome mostrado em Services.msc, pode conter espaços. Exemplo:
"Servidor Dedicado Minecraft". - caminho_executavel : Caminho completo para o arquivo exe ou bat. Se houver espaços, coloque entre aspas duplas. Exemplo:
"C:\Program Files\MeuApp\servidor.exe".
3. Execute um exemplo real. Suponha que você tenha um arquivo C:\MeuAplicativo.exe e queira nomear o serviço “MeuServico”.
sc.exe create "MeuServico" displayname= "Meu Serviço" binPath= "C:\MeuAplicativo.exe"
Observe o espaço após o sinal de igual em displayname= e binpath=. Esta é uma regra de sintaxe estrita do sc.exe. Se você escrever displayname="Meu Serviço" sem espaço, o comando falhará com um erro de sintaxe. Portanto, você deve ser preciso.

4. Verifique o serviço. Abra Services.msc (pressione Win+R, digite services.msc). Procure o serviço com o nome de exibição “Meu Serviço”. O status será “Parado”. Clique com o botão direito e escolha Iniciar. Alternativamente, use o comando sc start MeuServico.
5. (Opcional) Configure a inicialização automática. Para que o serviço seja executado na inicialização, execute:
sc config "MeuServico" start= auto
Desvantagem do método CMD: o sc.exe não fornece um mecanismo para reiniciar em caso de falha. Se seu aplicativo parar repentinamente, o serviço morrerá e não voltará. Para necessidades de produção ou servidores de jogos que exigem alta disponibilidade, você precisa do NSSM.
Método 2: Criar um Serviço do Windows usando NSSM (Non-Sucking Service Manager)
NSSM é uma ferramenta de código aberto projetada especificamente para superar as “fraquezas” do sc.exe. O nome “Non-Sucking” indica que esta ferramenta não é tão irritante quanto o método integrado. NSSM pode monitorar processos filhos, reiniciar automaticamente e registrar a saída do console em um arquivo. Esta ferramenta é a favorita entre técnicos de servidores e gamers que executam servidores de jogos modificados.
Passos para usar o NSSM (com interface gráfica completa)
1. Baixe o NSSM. Visite o site oficial em nssm.cc/download. Escolha a versão de 32 ou 64 bits de acordo com sua arquitetura do Windows. Use a versão mais recente (no momento da escrita, é a 2.24).
2. Extraia para uma pasta permanente. Por exemplo, crie C:\nssm e extraia o conteúdo do zip para lá. Uma pasta win64 ou win32 aparecerá. Não coloque em uma pasta temporária porque o arquivo será usado continuamente enquanto o serviço estiver em execução.
3. Abra o CMD como administrador. Mude para o diretório do nssm.exe. Exemplo:
cd C:\nssm\win64
4. Inicie o instalador gráfico. Digite o comando:
nssm install
Uma janela gráfica será aberta. Esta é a principal vantagem do NSSM: você não precisa memorizar sintaxe complexa.

5. Preencha a aba “Application”. Esta seção é obrigatória:
- Path : Clique no botão “…” e localize seu arquivo exe/bat.
- Startup directory : A pasta onde o aplicativo trabalha (geralmente a mesma pasta do arquivo exe). Preencha para que o aplicativo não se perca ao procurar arquivos de configuração.
- Arguments : Se o aplicativo precisar de parâmetros, por exemplo
--port 25565, escreva-os aqui. - Service name : Nome interno do serviço. Use um nome único sem espaços.
6. Abra a aba “Details” (opcional). Preencha o Display name (nome de exibição) e a Description (descrição). Isso ajuda a identificar o serviço no Services.msc.
7. Abra a aba “Exit actions” – esta é a parte mais crítica. O NSSM permite que você especifique ações quando o aplicativo for encerrado:
- Restart always : Reinicia o serviço toda vez que ele morre (independentemente do código de saída).
- Restart if exit code != 0 : Reinicia apenas se ocorrer um erro.
- Take no action : Morre completamente, sem reinicialização.
Para um servidor de jogos, escolha “Restart always” com um atraso de 5 a 10 segundos. Este proceso (typo: processo) garante a máxima disponibilidade.
8. Clique no botão “Install service”. O NSSM registrará o serviço no SCM. Você verá uma mensagem “Service ‘nomeservico’ installed successfully!”.
9. Verifique e inicie o serviço. Abra Services.msc, encontre seu serviço e clique em Iniciar. Alternativamente, pelo CMD: nssm start nomeservico. Para ver a saída do console (stdout/stderr), abra a pasta C:\nssm\logs por padrão.
Vantagens do NSSM que você precisa conhecer
- Reinicialização automática inteligente : Pode distinguir entre saída normal e falha.
- Registro completo (logging) : Tudo que o aplicativo imprime no console é salvo em um arquivo.
- Edição fácil do serviço : Basta
nssm edit nomeservicosem desinstalar. - Remoção segura do serviço :
nssm remove nomeservico confirm.
Comparação rápida: sc.exe vs NSSM
| Aspecto | sc.exe (CMD) | NSSM |
|---|---|---|
| Disponibilidade | Integrado ao Windows, sem instalação | Requer download, extração única |
| Suporte a reinicialização automática | Não (requer configuração complexa com sc failure) | Sim, muito fácil via interface gráfica |
| Registro de saída (logging) | Não | Sim, automático em arquivo |
| Facilidade para iniciantes一行时需要 memorizar sintaxe e espaços | Interface gráfica intuitiva | |
| Executar aplicativos com interface gráfica | Frequentemente falha | Possível com configurações especiais |
| Tamanho do arquivo | ~50KB (integrado ao sistema) | ~300KB |
Se você só precisa de um serviço simples e não requer reinicialização automática, o sc.exe é suficiente. No entanto, para alta confiabilidade, especialmente para servidores de jogos ou bots críticos, o NSSM é a escolha certa.
Dicas para gerenciar Serviços do Windows e mantê-los estáveis
Depois que seu serviço estiver em execução, você precisa monitorá-lo e mantê-lo. Aqui estão as práticas recomendadas por técnicos experientes:
- Use uma conta com privilégios mínimos. Não use LocalSystem se não for necessário. Crie uma conta dedicada (por exemplo,
svc_jogo) com o direito “Fazer logon como serviço”. - Configure opções de recuperação para serviços do sc.exe:
sc failure "nome" reset= 86400 actions= restart/5000/restart/10000/restart/30000. Isso reiniciará o serviço após 5 segundos se falhar. - Monitore os logs periodicamente. Para NSSM, os logs são armazenados na subpasta logs. Para sc.exe, você deve redirecionar a saída do aplicativo para um arquivo por conta própria.
- Teste o serviço em modo console antes de instalá-lo. Certifique-se de que o aplicativo seja executado sem entrada do usuário.
- Documente as alterações de configuração. Mantenha uma documentação simples para facilitar a solução de problemas.
Citação de um profissional: “Eu uso o NSSM para executar um servidor comunitário de Minecraft. Com a configuração de reinicialização automática, o servidor permanece online mesmo quando ocasionalmente falha devido a conflitos de mods. Minha disponibilidade atingiu 99,9% nos últimos 6 meses.” – Andi, técnico de servidores de jogos.
Conclusão: escolha o método certo para suas necessidades
Criar um Serviço do Windows não é complicado se você entender os dois métodos principais. O Prompt de Comando (sc.exe) oferece rapidez e nenhuma instalação, adequado para scripts simples e técnicos que amam a linha de comando. Enquanto isso, o NSSM fornece reinicialização automática, registro em log e facilidade de configuração – ideal para servidores de jogos, bots ou aplicativos que exigem alta disponibilidade.
Com o guia passo a passo acima, você agora tem o conhecimento para transformar quase qualquer aplicativo de console ou em lote em um Serviço do Windows confiável. Sempre teste primeiro em um ambiente não produtivo. Boa automatização do seu sistema!
Precisa de referências adicionais? Visite a documentação oficial da Microsoft sobre o Gerenciador de Controle de Serviços ou o fórum do NSSM para mais discussões.


