Windows Powershell travando

Windows Powershell travando

Como evito que o Windows Powershell trave quando executo um comando nele? Eu sei que no Linux você pode adicionar & no final de um comando para continuar usando o terminal sem fechar esse processo. Existe algo semelhante para o Windows Powershell?

Responder1

Como evito que o Windows Powershell trave quando executo um comando?

Use o Start-Jobcmdlet para iniciar trabalhos em segundo plano.

Este é o equivalente do Powershell a usar &no final de um comando no Unix/Linux.


Trabalhos em segundo plano do PowerShell

A maneira mais fácil de criar um trabalho em segundo plano do PowerShell é usar o Start-Jobcmdlet. Você pode especificar um scriptblock com o cmdlet. Por exemplo, o comando a seguir executa um scriptblock simples que obtém os números entre 1 e 50 como trabalho em segundo plano:

Start-Job {1..50}

Você pode passar argumentos para um scriptblock com este comando de uma linha:

Start-Job {Param($log,$newest) Get-EventLog $log Newest $newest} -ArgumentList "system",25

Ou você pode executar scripts:

Start-Job -FilePath C:\scripts\Send-UptimeMail.ps1 -ArgumentList (Get-Credential [email protected])

Você pode ver os resultados desses três comandos abaixo. Executei esses comandos no PowerShell 3.0. No entanto, também funcionarão no PowerShell 2.0, embora não veja a coluna PSJobTypeName.

Figura 1: Executando Scriptblocks e Scripts em segundo plano

A saída de Start-Jobé um objeto de fila de trabalhos. Você usa os -Job cmdlets para gerenciar trabalhos e seus resultados. Você pode referenciar trabalhos por um ID. Na imagem acima, observe como os IDs dos trabalhos saltam de 1 para 3 para 5.

FonteTrabalhos em segundo plano do PowerShell

O link acima fornece muito mais detalhes, cobrindo os seguintes tópicos:

  • Usando o Get-WMIObjectcmdlet para criar trabalhos em segundo plano

  • Usando o Invoke-Commandcmdlet para criar trabalhos em segundo plano

  • Gerenciando trabalhos em segundo plano

  • Recuperando Resultados do Trabalho

  • Parando e esperando por empregos


Leitura adicional

Responder2

Como alternativa aos trabalhos, você pode usarEspaços de execução: proporcionam maior desempenho e menos sobrecarga para executar comandos em segundo plano.

Implementações:

informação relacionada