Share via


Háttérfeladatok

A parancsmagok belsőleg vagy háttér-feladatként Windows PowerShell hajtják végre a műveletet. Ha egy parancsmag háttér feladatként fut, a rendszer aszinkron módon, a saját szálán, a parancsmag által használt folyamatszáltól elkülönítve végez munkát. A felhasználói szempontból, amikor egy parancsmag háttér feladatként fut, a parancssor azonnal visszatér, még akkor is, ha a feladat hosszabb ideig tart, és a felhasználó megszakítás nélkül folytathatja a feladatot a feladat futtatása közben.

Háttér-feladatok, gyermek feladatok és a feladattárház

A feladatot a háttér feladatokat támogató parancsmagok által visszaadott feladatobjektum határozza meg. (A Start-Job parancsmag egy feladatobjektumot is visszaad.) Ebben a definícióban szerepel a feladat neve, a feladat, az állapotinformációk és a gyermek feladatok megadására használt azonosító. A feladat nem végzi el a munkát. Minden háttér-feladat rendelkezik legalább egy gyermek feladat, mert a gyermek feladat végzi el a tényleges munkát. Ha olyan parancsmagot futtat, amely háttérként végzi a munkát, a parancsmagnak hozzá kell adni a feladatot és a gyermek feladatokat egy közös adattárhoz, más néven a feladattárhoz.

A háttér-feladatok parancssori kezelésével kapcsolatos további információkért tekintse meg a következőket:

Háttér feladatként futó parancsmag írása

Háttérfeladatként futtatható parancsmagok írásához a következő feladatokat kell elvégeznie:

  • Definiálhat egy kapcsolóparamétert, hogy a felhasználó eldöntse, háttér-feladatként asJob futtatja-e a parancsmagot.

  • Hozzon létre egy objektumot, amely a System.Management.Automation.Job osztályból származik. Ez az objektum lehet egy egyéni feladatobjektum vagy egy, a Windows PowerShell által biztosított feladatobjektum, például System.Management.Automation.Pseventjob objektum.

  • Rekordfeldolgozási metódusban adjon hozzá egy utasítást, amely észleli, hogy a parancsmagnak háttérként if kell-e futnia.

  • Egyéni feladatobjektumok esetén implementálja a feladatosztályt.

  • Adja vissza a megfelelő objektumokat attól függően, hogy a parancsmag háttér-feladatként fut-e.

Példakódért lásd: How to Support Jobs (Hogyan lehet támogatni a feladatokat).

Az alábbi API-kat a Windows PowerShell háttérbeli feladatok kezelésére biztosítják.

System.Management.Automation.Job Egyéni feladatobjektumokat származtat. Ez egy absztrakt osztály.

System.Management.Automation.Jobrepository Az aktuális aktív háttér feladatok kezelésével és azokkal kapcsolatos információkkal rendelkezik.

System.Management.Automation.Jobstate A háttér feladat állapotát határozza meg. Ilyen például az Elindítva, a Futtatás és a Leállítva.

System.Management.Automation.Jobstateinfo Információt nyújt a háttér feladat állapotáról, és ha az utolsó állapotváltozást egy hiba okozta, a feladat azért lépett be az aktuális állapotába.

System.Management.Automation.Jobstateeventargs Egy olyan esemény argumentumait biztosítja, amely akkor áll elő, amikor egy háttérbeli feladat állapota megváltozik.

Windows PowerShell Feladat parancsmagok

Az alábbi parancsmagokat a Windows PowerShell a háttér-feladatok kezeléséhez.

Get-Job (Feladat le get-job)

Le Windows PowerShell aktuális munkamenetben futó háttér feladatokat.

Receive-Job (Feladat fogadása)

Lekérte a Windows PowerShell háttér-feladatok eredményeit az aktuális munkamenetben.

Feladat eltávolítása

Töröl egy Windows PowerShell háttér feladatot.

Feladat kezdete

Elindít egy Windows PowerShell háttér-feladatot.

Feladat leállítása

Leállít egy Windows PowerShell háttér feladatot.

Wait-Job

Letiltja a parancssort, amíg a munkamenetben futó Windows PowerShell háttér-feladatok egyike vagy egésze be nem fejeződik.

Lásd még:

Windows PowerShell-parancsmag írása