[IRF2015][2.hf][2F] service értelmezése

0 votes
asked Apr 6, 2015 in IRF tantárgy by Amawaron (36 points)  
retagged Apr 7, 2015 by micskeiz

A kérdésem az, hogy mi az hogy service pontosan.
A feladatom az összes service kilistázása, egy windowsos rendszeren.
ha merevlemezek, vagy processzorok volnának a szervízek, akkor pontos fogalmam lenne, hogy mi az hogy merevlemez, és hogy hol és miként kell keresni, vagy hogy milyen CIM osztályok win32 megfelelőjét kell listáznom a megfelelő helyen.

De mivel azzal kapcsolatban, hogy a service pontosan mi, nincsen nagyon fogalmam, és nem tudom hogy pontosan mi alapján tudnám dinamikusan meghatározni egy címtárban, hogy mi tekinthető service-nek.

A példakimenetben a win32Service, meg a win32applicationservice osztályok lettek megjelenítve.

Az lenne a kérdésem, hogy milyen osztály, vagy milyen tulajdonság az, ami alapján meg lehet határozni egy objektumról hogy az service-e. így taxonómiailag.

A lecsapódása a kérdésnek, hogy elég-e ezt a két osztályt megkeresni és kilistázni, vagy vannak-e másik osztályok amik service ek, vagy van-e valami determinisztikus módszer amivel ezek a service-ek összegyűjthetőek?

1 Answer

+1 vote
answered Apr 6, 2015 by kovari (2,221 points)  

Csak egy osztálynak a példányait kell lekérdezned, ami egyben magában is foglal egy leszármazott osztályokból álló hierarchiát. Ennek részei az általad is említettek.
(Ugyebár egy osztály példányainak lekérdezésével az összes leszármazott példányát is megkapjuk)

Tehát csak egy absztrakt osztályt kell keresned, és nem pedig egyesével gyűjtögetni. Érthető okokból nem mondhatom meg, hogy melyik is ez pontosan, de semmi bonyolultra ne gondolj.

commented Apr 7, 2015 by balage (27 points)  
És mit kellene kezdeni azokkal a leszármazottakkal akik nem "normális" service-k. Értem ez alatt, hogy az osztálya meg a neve is nil pl. Ezeket simán skippeljük?

Nem akartam új kérdést nyitni, mert úgy gondoltam elég szorosan ide kapcsolódik.
commented Apr 8, 2015 by kovari (2,221 points)  
Így van, azokkal nem kell foglalkozni.
commented Apr 8, 2015 by balage (27 points)  
Oké, és a futását mi alapján kéne nézni? mert én azt gondoltam hogy a State attributum alapján, aminek az értékkészlete Running és Stopped, csakhogy ilyenje nem mindenkinek van, többek között a házikiírásban példaként emlétett Win32_ApplicationService-nek sem.
Van ellenben Status, de az meg lehet nil meg "Unknown", meg "OK", de nem determinisztikusan egyezik meg a State értékével (ha van State).
Szóval én State alapján nézném, de ezzel az Win32_ApplicationService-eket ki is dobom, mert nincs state-jük. Ez így jó?
commented Apr 8, 2015 by kovari (2,221 points)  
Status nem jó, ahogy mondod. Viszont javaslom, hogy amennyiben a futás nem dönthető el, de ugyanakkor a név és az osztály értelmes, akkor mentsük ki a példányt, a running attribútum pedig legyen egy üres string. Nem volt specifikálva, így ez szabadon eldönthető, de én ezt tartom a legjobb megoldásnak.
commented Apr 11, 2015 by bencair (27 points)  
Ehhez kapcsolódóan lenne kérdésem, hogy ha filtert írok arra, hogy csak a név, osztálynév, és state legyenek lekérdezve, akkor minden esetben hibát kapok hiszen nem mindenhol van state, viszont ha nem írok filtert nagyon sok felesleges infót is lekérdezek, amiből utólag kell kiválogatnom azokat amiket beszéltetek (ahol nincs név vagy class kiszűrni, ahol nincs state ott üres string). Ez probléma (így a keresés ideje is akár percekig tart, főleg linux esetén)?
Illetve még az, hogy ha localhost (linux) -ról van szó ott egyáltalán nincs State, csak status, szóval arra egy külön lekérdezést írjak ,ha localhost -ról akarnak infót?
commented Apr 12, 2015 by balage (27 points)  
Ezt jól látod.
Egy nemrég nyílt thread-ben kérdezte valaki, hogy lehet-e használni a Started attributubot, mert az van mindenkinek, és elvileg jól van töltve.
Áttértem énis arra.
Eredetileg mindent húztam az általad írt probléma miatt, a started-ra való átállás után összehasonlított a régi és az új XML-t, és valóban ugyanaz, így szerintem jó lesz ha azt használjuk.
localhostra szerintem nem kell készülni. Linux klien win server van a feladatban,  a localhost meg linux server.
commented Apr 12, 2015 by kovari (2,221 points)  
Igen, azt is ő kérdezte, azért nem válaszoltam ide külön :) És valóban, nyugodtan használhatjátok.

A korábbi commented kapcsán balage, azért nem említettem, hogy a State is rossz lehet, mert én sem tudtam. Eredetileg én is a Started attribútumra szűrtem csupán.
...