Cmdlet-ul Start-Job lansează un bloc de cod PowerShell asincron, într-un proces separat de fundal, eliberând imediat consola pentru alte comenzi. Permite paralelizarea sarcinilor consumatoare de timp, precum verificarea conectivității a sute de noduri sau descărcarea de fișiere voluminoase.
# Lansează o sarcină de durată în fundal
$job = Start-Job -Name "ScanareRetea" -ScriptBlock {
1..254 | ForEach-Object {
Test-Connection -ComputerName "192.168.1.$_" -Count 1 -Quiet
}
}
# Verifică starea sarcinilor active
Get-Job
# Așteaptă finalizarea sarcinii și preia rezultatele în consolă
$rezultat = Receive-Job -Name "ScanareRetea" -Wait -AutoRemoveJob
Write-Host "Scanare finalizată!"
Flux de Lucru: Start-Job inițiază sarcina, Get-Job îi verifică starea, Receive-Job colectează datele de ieșire, iar Remove-Job eliberează resursele.
Comenzi Conexe pentru Joburi
Get-Job: Listează joburile locale cu identificatorul ID, numele și starea (Running, Completed, Failed).Wait-Job: Oprește execuția scriptului principal până când sarcinile specificate se termină.Receive-Job: Citește fluxul de date generat de jobul de fundal.Stop-Job: Întrerupe forțat o sarcină aflată în curs de derulare.
Întrebări & Exemple de Cod:
Start-Job – Rularea Sarcinilor Asincrone în Fundal (Background Jobs)Ai o nelămurire despre utilizarea comenzii
Start-Job – Rularea Sarcinilor Asincrone în Fundal (Background Jobs)sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.