O que determina quais serviços o svchost.exe hospeda?

0

Ao visualizar processos no Process Explorer, há services.exe , que possui vários subprocessos svchost.exe . Cada um deles hospeda um ou mais serviços. No entanto, a seleção de serviços em um único processo parece completamente aleatória.

Como o processo seleciona quais serviços ele hospeda? Isso pode ser afetado de alguma forma?

Não consigo encontrar nenhum controle para isso em services.msc .

Eu gostaria de forçar alguns serviços em seus próprios processos, separados dos outros.

    
por user694733 22.08.2017 / 10:55

2 respostas

2

Existe um banco de dados no Registro para controlar como os serviços são carregados. Este é o banco de dados do Gerenciador de Controle de Serviço.

O Gerenciador de Controle de Serviços executa o services.exe. Os serviços são definidos no Registro em HKLM \ SYSTEM \ CurrentControlSet \ Services. O valor Type da entrada do serviço especifica se ele está carregado em seu próprio processo ou em um processo que hospeda vários serviços.

Quando o SCM decide iniciar um serviço, ele chama o ScStartService. O ScStartService determina o nome do arquivo que executa o processo do serviço, lendo o valor ImagePath da chave do Registro do serviço. O valor ImagePath também contém o nome do grupo. Em seguida, examina o valor Type . Um valor de 0x20 indica um processo compartilhado.

Para responder à sua pergunta sobre como executar um serviço em seu próprio processo, use o comando sc config .

Exemplo: sc config wuauserv type= own O espaço após = é obrigatório.

Technet

Fonte

    
por 22.08.2017 / 11:42
1

Você não encontrará controles em services.msc, mas cada serviço será iniciado sob uma conta de usuário / serviço específica que tem direitos específicos dependendo dos requisitos do serviço.

A coluna "Log On As" no painel de controle de serviços mostrará qual conta de serviço é usada para determinados serviços. Você notará que cada svchost.exe no gerenciador de tarefas parece ser de uma conta de usuário diferente.

São essas contas que determinarão qual svchost.exe está hospedando cada serviço.

Tecnicamente, há controles para alterar o que svchost.exe está hospedando um determinado serviço, pois você pode alterar o usuário no qual o serviço faz logon, como na guia "Logon" das propriedades do serviço. Eu não aconselharia alterá-los, pois você pode acabar com os serviços iniciando na ordem errada ou sem os direitos que eles exigem.

    
por 22.08.2017 / 11:14