Serviço Windows - Windows service

Nos sistemas operacionais Windows NT , um serviço do Windows é um programa de computador que opera em segundo plano . É semelhante em conceito a um daemon Unix . Um serviço do Windows deve estar em conformidade com as regras de interface e protocolos do Service Control Manager , o componente responsável por gerenciar os serviços do Windows. É o aplicativo Services and Controller, services.exe, que inicia todos os serviços e gerencia suas ações, como início, término, etc.

Os serviços do Windows podem ser configurados para iniciar quando o sistema operacional for iniciado e rodar em segundo plano enquanto o Windows estiver em execução. Alternativamente, eles podem ser iniciados manualmente ou por um evento. Os sistemas operacionais Windows NT incluem vários serviços executados no contexto de três contas de usuário : Sistema, Serviço de Rede e Serviço Local. Esses componentes do Windows são freqüentemente associados ao Processo de Host para Serviços do Windows . Como os serviços do Windows operam no contexto de suas próprias contas de usuário dedicadas, eles podem operar quando um usuário não está conectado.

Antes do Windows Vista , os serviços instalados como um "serviço interativo" podiam interagir com a área de trabalho do Windows e mostrar uma interface gráfica do usuário . No Windows Vista, no entanto, os serviços interativos estão obsoletos e podem não funcionar corretamente, como resultado da proteção do Windows Service .

Administração

Os administradores do Windows podem gerenciar serviços por meio de:

Snap-in de serviços

O snap-in Serviços, criado com base no Console de Gerenciamento Microsoft , pode se conectar ao computador local ou remoto na rede, permitindo que os usuários:

  • veja uma lista de serviços instalados junto com o nome do serviço, descrições e configuração
  • iniciar, parar, pausar ou reiniciar serviços
  • especificar parâmetros de serviço quando aplicável
  • mude o tipo de inicialização. Os tipos de inicialização aceitáveis ​​incluem:
    • Automático : o serviço é iniciado no logon do sistema.
    • Automático (Atrasado) : O serviço é iniciado um pouco depois que o sistema termina a inicialização. Essa opção foi introduzida no Windows Vista em uma tentativa de reduzir o tempo de inicialização até a área de trabalho. No entanto, nem todos os serviços suportam início atrasado.
    • Manual : o serviço começa somente quando explicitamente convocado.
    • Desativado : o serviço está desativado. Não vai funcionar.
  • alterar o contexto da conta do usuário em que o serviço opera
  • configurar ações de recuperação que devem ser tomadas se um serviço falhar
  • inspecionar dependências de serviço, descobrindo quais serviços ou drivers de dispositivo dependem de um determinado serviço ou de quais serviços ou drivers de dispositivo um determinado serviço depende
  • exporte a lista de serviços como um arquivo de texto ou como um arquivo CSV

Linha de comando

sc
Desenvolvedor (s) Microsoft , colaboradores do ReactOS
Sistema operacional Windows , ReactOS
Modelo Comando
Licença Windows: Software comercial proprietário ReactOS: GNU General Public License
Local na rede Internet docs .microsoft .com / en-us / previous-versions / windows / it-pro / windows-server-2012-R2-and-2012 / cc754599 (v% 3dws .11)

A ferramenta de linha de comando para gerenciar os serviços do Windows é sc.exe. Ele está disponível para todas as versões do Windows NT . Este utilitário está incluído no Windows XP e posterior e também no ReactOS .

O scescopo de gerenciamento do comando é restrito ao computador local. No entanto, a partir do Windows Server 2003 , não apenas pode scfazer tudo o que o snap-in Serviços faz, mas também pode instalar e desinstalar serviços.

O sccomando duplica alguns recursos do netcomando.

A versão ReactOS foi desenvolvida por Ged Murphy e está licenciada sob a GPL .

subcomandos sc
Nome Descrição Suporte Windows Suporte ReactOS
consulta Mostrar status do serviço sim sim
queryex Mostrar informações de serviço estendido (por exemplo, pid, sinalizadores) sim sim
começar Inicie um serviço sim sim
pausa Pausar um serviço sim sim
interrogar sim sim
Prosseguir Continue um serviço sim sim
Pare Pare um serviço sim sim
config sim sim
Descrição Alterar a descrição de um serviço sim sim
fracasso sim sim
failflag sim Não
sidtype sim Não
privs sim Não
conta gerenciada sim Não
qc Mostra a configuração do serviço (por exemplo, dependências, caminho completo, etc.) sim sim
qdescrição Consulte a descrição de um serviço sim sim
qfalha sim Não
qfailureflag sim Não
qsidtype sim Não
qprivs sim Não
qtriggerinfo sim Não
qpreferrednode sim Não
qmanagedaccount sim Não
qproteção sim Não
quserservice sim Não
excluir Excluir um serviço sim sim
Criar Crie um serviço sim sim
ao controle sim sim
sdshow sim sim
sdset sim sim
showid sim Não
triggerinfo sim Não
nó preferencial sim Não
GetDisplayName Mostrar o serviço DisplayName sim sim
GetKeyName Mostra o serviço ServiceKeyName sim sim
EnumDepend Mostrar as dependências do serviço sim sim
Bota sim Não
Trancar sim Não
QueryLock sim Não

Exemplos

O exemplo a seguir enumera o status dos serviços e drivers ativos.

C:\>sc query

O exemplo a seguir exibe o status do serviço de log de Eventos do Windows .

C:\>sc query eventlog

PowerShell

O módulo Microsoft.PowerShell.Management PowerShell (incluído no Windows) tem vários cmdlets que podem ser usados ​​para gerenciar serviços do Windows:

  • Get-Service
  • New-Service
  • Reiniciar-serviço
  • Resume-Service
  • Set-Service
  • Começar serviço
  • Parar serviço
  • Suspend-Service

Outras ferramentas de gestão

O Windows também inclui componentes que podem fazer um subconjunto do que o snap-in, Sc.exe e PowerShell fazem. O netcomando pode iniciar, parar, pausar ou retomar um serviço do Windows. No Windows Vista e posterior, o Gerenciador de Tarefas do Windows pode mostrar uma lista de serviços instalados e iniciá-los ou interrompê-los. O MSConfig pode ativar ou desativar (consulte a descrição do tipo de inicialização acima) os serviços do Windows.

Instalação

Os serviços do Windows são instalados e removidos por meio de scripts de configuração * .INF por SetupAPI ; um serviço instalado pode ser iniciado imediatamente após sua instalação e um serviço em execução pode ser interrompido antes de sua desinstalação.

Desenvolvimento

Escrevendo serviços nativos

Para que um programa seja executado como um serviço do Windows, ele precisa ser escrito para lidar com as mensagens de início, parada e pausa do serviço do Gerenciador de Controle de Serviços (SCM) por meio da API de Serviços do Sistema . SCM é o componente do Windows responsável por gerenciar processos de serviço.

Empacotando aplicativos como um serviço

O Windows Resource Kit para Windows NT 3.51 , Windows NT 4.0 e Windows 2000 fornece ferramentas para controlar o uso e registro de serviços: SrvAny.exeatua como um wrapper de serviço para manipular a interface esperada de um serviço (por exemplo, manipular service_start e responder algum tempo depois com service_started ou service_failed) e permite que qualquer executável ou script seja configurado como um serviço. Sc.exepermite que novos serviços sejam instalados, iniciados, interrompidos e desinstalados.

Veja também

Serviços Windows
Conceito

Referências

Leitura adicional

links externos