"Automático" vs "Automático (início atrasado)"

350

Ao instalar os serviços do Windows, existem duas opções para iniciar automaticamente um serviço do Windows na inicialização do Windows. Um é automático e o outro é automático (início atrasado) . Qual é a diferença entre esses dois em detalhes?

Por exemplo, se você estiver criando o instalador com o wixtoolset, o ServiceConfigelemento terá o DelayedAutoStartatributo Como isso afetará o que acontece quando os serviços são iniciados no momento da inicialização?

Documentação WiX: Elemento ServiceConfig

Sachin Kainth
fonte
24
Não tenho certeza de como isso é considerado fora de tópico, considerando o fato de o wixtoolset.org permitir que você especifique isso e permitimos perguntas sobre o Wix.
Aelphaeis
11
Cheguei aqui procurando uma resposta para o instalador do wix. Isso é absolutamente essencial para a programação, pois um instalador é meio relevante para a programação.
Still.Tony
6
Concordou com Smithers e PitLock. Se você examinar as votações para a pergunta e as respostas sobre este e outros assuntos "fechados", parece que alguns membros estão mais interessados ​​na letra da lei do que na utilidade do post, que é o todo ideia por trás de sites como este. Aparentemente, eles não percebem que essa questão em particular afeta a "programação". Pelo menos eles não derrubaram o post.
quer
7
Não concordo que isso esteja fora de tópico. Isso é muito relevante para os desenvolvedores.
mghaoui

Respostas:

484

Em resumo, os serviços configurados como Automático serão iniciados durante o processo de inicialização, enquanto os serviços configurados para iniciar como Atrasados serão iniciados logo após a inicialização.

Iniciando o serviço Atrasado melhora o desempenho da inicialização do seu servidor e possui benefícios de segurança descritos no artigo ao qual Adriano está vinculado nos comentários.

Atualização: "logo após a inicialização" é na verdade 2 minutos após o início do último serviço "automático", por padrão. Isso pode ser configurado por uma chave do Registro, de acordo com o Windows Internals e outras fontes ( 3 , 4 ).

As chaves do registro de interesse (pelo menos em algumas versões do Windows) são:

  • HKLM\SYSTEM\CurrentControlSet\services\<service name>\DelayedAutostartterá o valor 1se atrasado, 0se não.
  • HKLM\SYSTEM\CurrentControlSet\services\AutoStartDelayou HKLM\SYSTEM\CurrentControlSet\Control\AutoStartDelay(no Windows 10): número decimal de segundos a aguardar, pode ser necessário criar este. Aplica-se globalmente a todos os serviços Atrasados .
Colin Pickard
fonte
11
Eu estou pensando, quão curto é em breve? Não há muita informação por aí. De alguma forma, parece que o Windows esperaria até que a carga do sistema caísse ou que uma determinada etapa durante a sequência de inicialização fosse alcançada. Depois disso, começa a iniciar qualquer serviço atrasado. Alguma opinião ou mesmo conhecimento sobre isso?
Leo
10
@leo 2 minutos após o último serviço automático - resposta atualizada.
Colin Pickard
6
Com vários serviços de início atrasado, como o Windows decide qual iniciar primeiro?
Ernest
4
Os serviços @ErnestSoeralaya podem ser marcados como dependentes de outros serviços. O Windows garantirá que as dependências sejam iniciadas primeiro, depois os serviços devem ser iniciados em ordem alfabética; mas isso não é garantido.
Colin Pickard
5
@MeM Uma falha em qualquer serviço não afetará nenhum outro serviço. A única exceção a isso são serviços marcados como dependentes de outros serviços.
Colin Pickard