Windows Powershell Bloqueando

1

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

    
por bobbybob 15.10.2015 / 03:56

2 respostas

0

Como evito que o Windows Powershell seja bloqueado quando eu executo um comando?

Use o cmdlet Start-Job para iniciar trabalhos em segundo plano.

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

Trabalhos em segundo plano do PowerShell

The easiest way to create a PowerShell background job is to use the Start-Job cmdlet. You can specify a scriptblock with the cmdlet. For example, the following command runs a simple scriptblock that gets the numbers between 1 and 50 as a background job:

Start-Job {1..50}

You can pass arguments to a scriptblock with this one-line command:

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

Or you can run scripts:

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

You can see the results of these three commands below. I ran these commands in PowerShell 3.0. However, they'll also work in PowerShell 2.0, although you won't see the PSJobTypeName column.

Figure 1: Running Scriptblocks and Scripts in the Background

The output from Start-Job is a job queue object. You use the -Job cmdlets to manage jobs and their results. You can reference jobs by an ID. In the above image, notice how the job IDs jump from 1 to 3 to 5.

Fonte Jobs em background do PowerShell

O link acima contém muito mais detalhes sobre os seguintes tópicos:

  • Usando o cmdlet Get-WMIObject para criar trabalhos em segundo plano

  • Usando o cmdlet Invoke-Command para criar trabalhos em segundo plano

  • Gerenciando trabalhos em segundo plano

  • Recuperando resultados do trabalho

  • Parando e esperando trabalhos

Outras leituras

por 15.10.2015 / 13:47
0

Como alternativa ao Jobs, você pode usar Runspaces : eles fornecem maior desempenho e menos sobrecarga para executar comandos em segundo plano.

Implementações:

por 15.10.2015 / 21:45

Tags