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).
Háttérbeli Job-Related API-k
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.
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.
Töröl egy Windows PowerShell háttér feladatot.
Elindít egy Windows PowerShell háttér-feladatot.
Leállít egy Windows PowerShell háttér feladatot.
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:
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: