Kilépés a Python OS-ből

Kilepes A Python Os Bol



A Python Operációs rendszerek modulja számos eszközt kínál az operációs rendszerrel való átvitelhez. Ez a modul az operációs rendszertől függő moduláris módszert kínál a funkció használatára. A Python programozási nyelvben különféle módszereket használnak, és ezek egyike a „Python os exit”. Ennek a függvénynek a használatával egy adott állapotú Python-folyamat tisztítókezelők futtatása vagy pufferek öblítése nélkül zárható le, például egy „os fork()” rendszerhívással, ahol ezt a funkciót általában a gyermekfolyamatban használják.

Egy számítógépes funkció leállíthatja a végrehajtását, ha kilépési rendszerhívást kezdeményez számos számítógép operációs rendszerén. Egy többszálú rendszerben a kilépés gyakran egy működő szál megszakítását szimbolizálja. Az operációs rendszer lekéri a fájlokat és a memóriát tartalmazó erőforrásokat az erőforrás-kezeléshez. De ha a standard kilépésről beszélünk, akkor valószínűleg a „sys.exit(n)” metódus lenne.







Szintaxis

A Python OS kilépési metódusának szintaxisa az alábbiakban látható:




A Python os kilépési metódusának szintaxisa két dolgot határoz meg: az első rész a folyamat kilépési állapotát jelzi, és ez a modul nem ad vissza semmilyen értéket.



1. példa: Az „os._exit()” módszer használata több folyamatból való kilépéshez a Cleanup Handler hívása nélkül

A kilépési mód bármely operációs rendszerben, elsősorban „Windows” vagy „Linux” operációs rendszerben használható. Első példánkban megvizsgáljuk a szülőfolyamatként és gyermekfolyamatként előforduló több folyamatot, ahol a feldolgozást anélkül hajtja végre, hogy meghívná a függvényben vagy programban található tisztításkezelőt. Ez a modul hatékonyabban működne a „Linux” operációs rendszerben. A száltisztítás „pop()”, amelynek az execute paraméter értéke nem nulla, a tisztításkezelő meghívását idézi elő. Az összes eltolt, de még fel nem engedett takarítási eljárás lekerül a higiéniai veremről, és az utolsó be- és első kilépés (LIFO) sorrendben kerül végrehajtásra, amikor a szál leáll, de ebben a példában nem szükséges meghívni.






Az alábbiakban ismertetjük a Python operációs rendszerből való kilépés első példájának kódrészletét:

A program az „os” könyvtárának importálásával indult, mivel aggódunk az eszközünk operációs rendszerével való összekapcsoláshoz szükséges feltételek és feltételek teljesítése miatt. Ezután létrehoztuk a „PID”-t, és összekapcsoltuk a „Pythont” az „os” könyvtárral. Most a feltételes utasítást használjuk, ahol az „if” feltétel a „PID nagyobb, mint 0”.



Ezt követően a „print()” függvényt használtuk, amelynek ki kell nyomtatnia a „\nFeldolgozás szülőben” utasítást, ahol a „\n” segítségével a kurzort az „if” feltételen belül az új sorba vihetjük át. Az „info” változó az „os.waitpid(pid,0)” meghívására inicializálódik, ahol a „PID” a „0” intervallumtól kezdődik. A továbbiakban egy másik „ha” feltételt alkalmaztunk az „os.WIFEXITED()”-re, ahol az „1” információleírást adtuk a feldolgozásához. Feldolgozási információit a felhasználó által definiált „python_code” függvényben tárolja, amely tartalmazza a „Child Code to be Exit” print utasítását, és megadja neki a „python_code” értéket a „print()” függvényen belül.

Most elérkezünk az „egyéb” állapotunkhoz, amely négy nyomtatott állítást tartalmaz. Az első „print()” függvény utasítása „Feldolgozás gyermekben”. A második print utasítás az „ID of Processing:”, és ezzel együtt az „os.getpid()” értékét tartalmazza, amely a Python kódfájlját tartalmazza a gyermekfeldolgozáshoz. A harmadik itt használt nyomtatott utasítás a „Hey Python!!” és a negyedik nyomtatott kijelentés: „Létezik gyermekfeldolgozás!” Végül a fő modulunkat alkalmaztuk a meglévő fájl programvégrehajtásának feldolgozásából való kilépéshez, amely az „os._exit()” és ahol az „os.EX_OK” változó hozzá van rendelve anélkül, hogy bármilyen függvényt visszaküldene feldolgozásra.


Mivel a gyermekfeldolgozás a prioritás az első futtatáshoz és a programból a szülő feldolgozásból való kilépéshez, mert ez több időt igényel. Tehát a kimeneti pillanatkép egyszerűen megjeleníti az előző kódban megadott nyomtatási utasításokat, de a rendszerben létrehozott fájl megjeleníti a feldolgozási azonosítóját, a „78695”-et, amelyet az utolsó pillanatképen láthatunk. És akkor a szülő kilépés feldolgozása „0” lenne, mivel nem is esik át alapos feldolgozáson, mert többhez a kezelőre van szükség.

2. példa: Az „os._exit()” módszer használata az általános folyamatból való kilépéshez pufferek öblítése nélkül

Ebben a példában az egyszerű, általános feldolgozási végrehajtás kilépési jelenséget fogjuk megnézni, miután a rendszeren keresztül lefutotta intervallumait. Itt még az öblítő puffereket sem használjuk, mert nem szükséges a feldolgozáshoz. Végül is az „os._exit” hatékonyabban működne a folyamatból való kilépéskor.


Nézzük meg azt a kódot, ahová az „os” Python könyvtárat importáltuk. A program egy for-ciklussal kezdődik, ahol a „p” változót használjuk bizonyos adatok tárolására, és a tartományát „6”-ra állítjuk. Ezt követően a „p” változóra alkalmaztuk az „if” feltételt, amely az összes intervallumot „4”-re kiegyenlíti. Mivel a feldolgozó rendszer a „0” indexről indul, a folyamatot „0”-tól „4”-ig futná. Amint a feltétel egyezik, azaz a „p” értéke 4 lesz, a program végrehajtja a következő utasítást, ami a „print()” függvény, és megadja az „exit” feldolgozó egységet. Az utolsó sorban az „os._exit()” függvényt használtuk a függvényből való kilépéshez, miután „0”-ról indultunk, majd kiléptünk a feldolgozásból. Végül a feldolgozás után a „p” változóban tárolt összes érték megjelenik a kimeneti kijelzőn, mivel a „print()” függvényt használtuk a „p” változó hozzárendelésével.


A kimeneti kijelző csak a „0”, „1”, „2” és „3” számokat jelenítené meg, mivel ez az a négy szám, amely elérte a feldolgozást, és ezt követően a feldolgozás kilépés lenne.

3. példa: Az „os._exit()” módszer használata a pufferben nem létező folyamatból való kilépéshez

Néha megpróbálunk átadni néhány olyan folyamatot, amelyeknél a rendszer nem tudta könnyen végrehajtani a feldolgozást, vagy bármilyen okból leállni – többnyire akkor, amikor a feldolgozás hiányzik az adott programnál valamilyen konkrét anyag, könyvtár vagy fájlkiosztás megléte miatt. .


Vessünk egy pillantást a kódrészletünkre, ahol a „Numbers”-t használtuk változóként, és beállítottuk „0” és „7” közötti értékre. Most alkalmaztuk az „if” feltételt, ahol a „számok” kiegyenlítődnek az „5” indexekkel, majd a „print()” utasítással kinyomtattuk az „exit” értéket. Ezt követően a „raise SystemExit” egy speciális modulját használtuk a feldolgozásból való kilépéshez, például az „os._exit”-t, és a „print()” függvényt ismét a „Numbers” változóban tárolt számok megjelenítésére használtuk a folyamatból való kilépés után.


A kimeneti pillanatkép egyértelműen leírja, hogy nem jeleníti meg a „Számok” értékeket a kilépési modul után. Mivel a főbb anyagok hiányoznak, mint például a könyvtár és az inicializálás, ezért a program feldolgozása után „üresen” tér vissza a kimeneti képernyőn, és minden érték olvasása nélkül tér vissza, vagy előfordulhat, hogy a program nem megy a végrehajtásra.

Következtetés

Ebben a cikkben három példát tárgyaltunk a Python operációs rendszer kilépési módszerével kapcsolatban. Az első példában a Python operációs rendszer kilépési modulját használtuk a gyermekfolyamatból való kilépéshez öblítési és tisztítási kezelő nélkül. A második példában az operációs rendszer kilépési modulját használtuk a folyamatkilépésben egyetlen általános kódprogramban, puffer kiürítése nélkül. A harmadik példa a hiányzó folyamatból való kilépéshez kapcsolódik, amely jelenleg nincs jelen vagy nincs a rendszerben tárolva.