Diferença entre o sono-sono e o processo de espera

Diferença entre o sono-sono e o processo de espera
Na Script PowerShell, existem inúmeros métodos para otimizar os scripts. Por exemplo, os métodos de pausa para PowerShell destinam -se a pausar o script por um horário específico ou aguardar algum outro processo de rescindir antes de continuar a execução. O sono de inicial.

O sono inicial faz uma pausa na execução por um tempo especificado. Por outro.

Considerando a importância deles, compilamos este guia para diferenciar entre os cmdlets de sono-sono e o processo de espera.

Diferença entre o sono-sono e o processo de espera

O Processo de espera cmdlet espera que um processo pare antes de aceitar outro processo, enquanto o Sono inicial O cmdlet é utilizado para suspender ou pausar o script por um determinado período. Para uma melhor compreensão, demonstramos o uso do sono inicial e de espera explicitamente.

Como funciona o sono inicial no PowerShell?

Chega um momento em que precisamos pausar ou suspender o script no PowerShell por um período específico. Pode haver muitas razões para pausar a execução do script. Por exemplo, se você deseja estender o tempo de execução do script ou deseja limitar o tempo para obter informações do usuário.

Sintaxe

> Sono inicial <-Seconds> <-Milliseconds> <-Parameters>

Na sintaxe:

  • Os segundos e -millisEconds se referem às unidades do tempo. Os segundos devem estar em um tipo de dados duplo, enquanto os milissegundos devem ser um valor inteiro.
  • O denota o conjunto de parâmetros comuns aplicáveis ​​a todos os cmdlets do PowerShell. Os parâmetros comumente usados ​​incluem, Depurar, ErrorAction, ErrorVariable, InformationAction, InformationVariable etc.

Exemplo: pause o script para um horário específico
Para aplicar o sono inicial, criamos um exemplo de script. O sono inicial é usado entre dois cmdlets de gravação no host no código de exemplo a seguir. A possível espera de 5 segundos após o primeiro host de gravação e antes do segundo host de gravação:

Write-host "Usando o sono inicial"
Sono -inicial -Segundos 5
Escreva-host "O código após o sono inicial"

Vamos executar o script:

A saída mostra que a linha após o cmdlet de sono-sono é executada após 5 segundos de espera.

Como o processo de espera funciona no PowerShell?

O CMDLET do processo de espera espera que um processo pare antes de ir para a execução adicional do script. Por padrão, o processo de espera esperará por um tempo indefinido. No entanto, você pode limitar o tempo para a espera também. A sintaxe do processo de espera é fornecida abaixo:

Sintaxe

> Processo de espera <-Name> <-Time> <-Parameters>

Na sintaxe:

  • O -Nome parâmetro refere -se ao nome do processo.
  • O -Tempo O parâmetro é usado para limitar o tempo de espera.
  • O -Parâmetros denotar alguns dos parâmetros comumente usados, como Debug, ErrorAction, etc.

Vamos entender mais claramente usando o exemplo.

Exemplo: aguarde um processo
Como sabemos, o CMDLET do processo de espera espera por um processo e depois aceita outro processo. No exemplo abaixo, o processo de espera é aplicado no HP.Myhp processo. Aqui, o cmdlet do processo de espera vai esperar pelo HP.Myhp Processar antes de continuar a execução adicional:

Write-host “Usando o processo de espera!”
Espere -Process -ProcessName HP.Myhp
Escreva-host “O HP.O processo MYHP foi interrompido!”

Agora, execute o script:

Você observará que o cursor continuará correndo e não continuará a execução adicional se o processo não for interrompido.

Você também pode especificar o tempo no processo de espera e se o processo não for interrompido dentro do prazo, o PowerShell fará um erro. Vamos experimentar através do exemplo a seguir, onde limitamos o tempo de espera a 5 segundos:

Escreva-host "Esperando um processo para parar!"
Espere -Process -ProcessName HP.MyHP -Timeout 5

Vamos executar o script e olhar para a saída:

Observa -se que depois de esperar por 5 segundos, Powershell deu um erro que HP.Myhp não parou no tempo especificado.

Ponto de bônus: A tabela a seguir considera quatro fatores principais para diferenciar entre o processo de espera e o cmdlet de sono-sono.

Fatores Processo de espera Sono inicial
Propósito Pausa a execução do script. Pausa a execução do script.
Escopo de aplicabilidade É aplicado para aguardar apenas processos. Pode ser aplicado para suspender a sessão/atividade a qualquer momento. O escopo do sono inicial é mais amplo que o processo de espera.
Parâmetros comuns Suporta parâmetros comuns. Também suporta parâmetros comuns do PowerShell.
Unidade de tempo Apenas segundos. Segundos ou milissegundos.

Você teria melhor entendido a diferença entre o processo de espera e o sono inicial em PowerShell.

Conclusão

O sono inicial suspende ou faz uma pausa no script por um certo período de tempo. Por outro lado, o cmdlet de espera aguarda um processo antes de aceitar outro processo. Ambos os métodos são usados ​​como métodos de pausa no PowerShell. Você aprendeu a aplicar o sono de inicialização e o processo de espera e a diferença deles também. Principalmente, esses cmdlets diferem no escopo da aplicabilidade. No entanto, ambos servem ao mesmo objetivo: pausar a execução do script do PowerShell.