Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A parancsmagok belsőleg vagy Windows PowerShell-háttérfeladatként is végrehajthatják a műveletet. Ha egy parancsmag háttérfeladatként fut, a feladat aszinkron módon, a saját szálában történik, a parancsmag által használt folyamatszáltól elkülönítve. Felhasználói szempontból, amikor egy parancsmag háttérfeladatként fut, a parancssor azonnal visszatér, még akkor is, ha a feladat végrehajtása hosszabb időt vesz igénybe, és a felhasználó megszakítás nélkül folytathatja a feladatot.
Háttérfeladatok, gyermekfeladatok és feladattár
A feladatot a háttérfeladatokat támogató parancsmagok által visszaadott feladatobjektum határozza meg. (A Start-Job parancsmag egy feladatobjektumot is visszaad.) A feladat neve, a feladat megadására használt azonosító, az állapotinformációk és a gyermekfeladatok ebben a definícióban szerepelnek. A feladat nem hajtja végre a munkát. Minden háttérfeladathoz tartozik legalább egy gyermekfeladat, mert a gyermekfeladat elvégzi a tényleges munkát. Amikor parancsmagot futtat, hogy a munka háttérfeladatként legyen végrehajtva, a parancsmagnak hozzá kell adnia a feladatot és a gyermekfeladatokat egy közös adattárhoz, amelyet feladatadattárnak.
További információ a háttérfeladatok parancssori kezeléséről:
Háttérfeladatként futó parancsmag írása
Háttérfeladatként futtatható parancsmag írásához a következő feladatokat kell elvégeznie:
Adjon meg egy
asJobkapcsolóparamétert, hogy a felhasználó eldönthesse, hogy háttérfeladatként 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éni feladatobjektum vagy a Windows PowerShell által biztosított feladatobjektum, például egy System.Management.Automation.PSEventJob objektum.
Rekordfeldolgozási módszerben adjon hozzá egy
ifutasítást, amely észleli, hogy a parancsmagnak háttérfeladatként 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érfeladatként fut-e.
Példakód: Feladatok támogatása.
Háttér Job-Related API-k
A Háttérfeladatok kezeléséhez a Windows PowerShell a következő API-kat biztosítja.
System.Management.Automation.Job Egyéni feladatobjektumokat származtat. Ez egy absztrakt osztály.
System.Management.Automation.JobRepository Kezeli és ismerteti az aktuális aktív háttérfeladatokat.
System.Management.Automation.JobState A háttérfeladat állapotát határozza meg. Az állapotok közé tartozik az Indítás, a Futtatás és a Leállítva.
System.Management.Automation.JobStateInfo Információt nyújt egy háttérfeladat állapotáról, és ha az utolsó állapotváltozást hiba okozta, a feladat aktuális állapotba lépésének oka.
System.Management.Automation.JobStateEventArgs A háttérfeladat állapotának módosításakor felmerülő esemény argumentumait adja meg.
Windows PowerShell-feladatparancsmagok
A Háttérfeladatok kezeléséhez a Windows PowerShell a következő parancsmagokat biztosítja.
Lekéri az aktuális munkamenetben futó Windows PowerShell-háttérfeladatokat.
Lekéri a Windows PowerShell-háttérfeladatok eredményeit az aktuális munkamenetben.
Windows PowerShell-háttérfeladat törlése.
Elindít egy Windows PowerShell-háttérfeladatot.
Leállítja a Windows PowerShell háttérfeladatát.
Letiltja a parancssort, amíg a munkamenetben futó Windows PowerShell-háttérfeladatok valamelyike vagy mindegyike be nem fejeződik.