Python OS-ist väljumine

Python Os Ist Valjumine



Pythoni operatsioonisüsteemide moodul pakub mitmesuguseid tööriistu operatsioonisüsteemiga edastamiseks. See moodul pakub funktsiooni kasutamiseks modulaarset meetodit, mis sõltub operatsioonisüsteemist. Pythoni programmeerimiskeeles kasutatakse erinevaid meetodeid ja 'Python os exit' on üks neist. Seda funktsiooni kasutades saab konkreetse olekuga Pythoni protsessi lõpetada ilma puhastuskäitlejaid või puhvreid loputamata, näiteks süsteemikutsega „os fork()”, kus seda funktsiooni kasutatakse tavaliselt alamprotsessis.

Arvutifunktsioon võib selle täitmise lõpetada, käivitades paljudes arvutite operatsioonisüsteemides süsteemikõne. Mitme lõimega süsteemis sümboliseerib väljumine sageli töötava lõime katkemist. Operatsioonisüsteem hangib ressursside haldamiseks ressursse, mis hõlmavad faile ja mälu. Aga kui me räägime väljumise standardsest, siis tõenäoliselt on see meetod 'sys.exit(n)'.







Süntaks

Python OS-i väljumismeetodi süntaks on toodud allpool:




Python OS-i väljumismeetodi süntaks määrab kaks asja: esimene osa tähistab protsessi väljumisolekut ja see moodul ei tagasta väärtust.



Näide # 1: 'os._exit()' meetodi kasutamine mitmest protsessist väljumiseks ilma puhastushaldurit kutsumata

Väljumismeetodit saab kasutada mis tahes operatsioonisüsteemis, peamiselt Windowsi või Linuxi operatsioonisüsteemides. Esimeses näites vaatleme mitut protsessi, mis esinevad põhi- ja alamprotsessina, kus see töötleb ilma funktsiooni või programmi puhastuskäitlejat kutsumata. See moodul töötaks Linuxi operatsioonisüsteemis tõhusamalt. Lõime puhastamine 'pop()', mille täitmisparameetri väärtus on nullist erinev, kutsub esile puhastushalduri. Kõik lükatud, kuid veel vabastamata puhastustoimingud hüppatakse kanalisatsioonivirnast välja ja käivitatakse lõime peatumisel viimase sisse ja esimesena väljumise (LIFO) järjekorras, kuid selles näites poleks seda vaja kutsuda.






Meie esimese Python OS-i väljumise näite koodilõiku selgitatakse allpool:

Programm käivitati 'os' teegi importimisega, kuna oleme mures oma seadme operatsioonisüsteemiga linkimise tingimuste ja tingimuste täitmise pärast. Seejärel lõime 'PID' ja sidusime 'Python' teegiga 'os'. Nüüd kasutame tingimuslauset, kus tingimus 'kui' on 'PID on suurem kui 0'.



Pärast seda kasutasime funktsiooni “print()”, mis peab trükkima lause “\nTöötlemine vanemas”, kus “\n” kasutatakse kursori viimiseks uuele reale tingimuse “if” raames. Muutuja 'info' initsialiseeritakse 'os.waitpid(pid,0)' kutsumiseks, kus 'PID' algab intervallist '0'. Edasiseks toimimiseks rakendasime veel üht tingimust 'os.WIFEXITED()', kus andsime talle töötlemiseks teabe kirjelduse '1'. See salvestab oma töötlemisteabe kasutaja määratletud funktsioonis 'python_code', mis sisaldab prindilauset 'Lapskood tuleb väljuda' ja annab sellele funktsioonis 'print()' väärtuse 'python_code'.

Nüüd jõuame oma 'muu' tingimuseni, millel on neli trükisõna. Esimeses funktsioonis 'print()' olev lause on 'Töötlemine lapsena'. Teine prindilause on 'ID of Processing:' ja sellega kaasneb funktsioon 'os.getpid()', mis sisaldab Pythoni koodifaili alamtöötluseks. Kolmas siin kasutatud trükisõna on 'Hei Python!!' ja neljas trükisõna on 'Laste töötlemine on olemas!' Lõpuks rakendasime oma põhimoodulit, et väljuda olemasoleva faili, mis on 'os._exit()' ja kus muutuja 'os.EX_OK' on määratud, ilma töötlemiseks ühtegi funktsiooni tagastamata.


Kuna alamtöötlus on esmatähtis käivitada ja programm ülemtöötlusest väljuda, kuna see nõuab rohkem aega. Seega kuvab väljundi hetktõmmis lihtsalt eelmises koodis esitatud prindilaused, kuid süsteemis loodud fail kuvab selle töötlemise ID '78695', mida näeme viimasel hetktõmmisel. Ja siis oleks vanema väljumise töötlemine '0', kuna see ei läbi isegi põhjalikku töötlemist, sest rohkema jaoks on vaja käitlejat.

Näide # 2: 'os._exit()' meetodi kasutamine üldprotsessist väljumiseks ilma puhvreid loputamata

Selles näites vaatleme lihtsat üldist töötlemise täitmisest väljumise nähtust pärast selle intervallide käitamist alates selle lugemisest läbi süsteemi. Siin me isegi ei kasuta loputuspuhvreid, kuna see pole töötlemiseks vajalik. Lõppude lõpuks toimiks 'os._exit' protsessist väljumisel tõhusamalt.


Vaatame koodi, kuhu importisime Pythoni teegi “os”. Programm algab for-tsükliga, kus me kasutame muutujat 'p' teatud andmete hoidmiseks ja määrame selle vahemiku '6'. Pärast seda rakendasime muutujale 'p' tingimust 'if', mis võrdsustab koguintervallid väärtusega '4'. Kuna töötlemissüsteem algab indeksist '0', käivitaks see protsessi vahemikus '0' kuni '4'. Niipea, kui tingimus on sobitatud, mis tähendab, et p väärtus võrdub 4-ga, käivitab programm järgmise lause, milleks on funktsioon 'print()' ja annab töötlemisüksuseks 'exit'. Viimasel real kasutasime funktsiooni 'os._exit()' funktsioonist väljumiseks pärast nullist alustamist ja seejärel töötlemise lõpetamist. Lõpuks prinditakse kõik väärtused, mis pärast töötlemist muutujas 'p' salvestati, väljundekraanile, kuna kasutasime funktsiooni 'print()', määrates sellele muutuja 'p'.


Väljundekraanil kuvatakse lihtsalt numbrid '0', '1', '2' ja '3', kuna need on neli numbrit, mis jõudsid pärast töötlemist, ja pärast seda oleks töötlemine väljumine.

Näide nr 3: meetodi „os._exit()” kasutamine protsessist väljumiseks, mida puhvris ei eksisteeri

Mõnikord proovime läbida mõnda protsessi, mille töötlemine ei olnud süsteemil lihtne või mis tahes põhjusel peatada – enamasti siis, kui konkreetse programmi puhul töötlus puudub konkreetse materjali, teegi või failijaotuse tõttu. .


Vaatame oma koodilõiku, kus kasutasime muutujana 'Numbreid' ja seadsime selle vahemikku '0' kuni '7'. Nüüd rakendasime tingimust 'kui', kus 'Numbrid' võrdsustuvad indeksitega '5', ja seejärel kasutasime 'exit' väärtuse printimiseks lauset 'print()'. Seejärel kasutasime töötlemisest väljumiseks spetsiaalset moodulit 'tõsta SystemExit', nagu 'os._exit' ja kasutasime uuesti funktsiooni 'print()', et kuvada pärast protsessist väljumist muutujas 'Numbers' salvestatud numbreid.


Väljundi hetktõmmis kirjeldab selgelt, et see ei kuva „Numbreid” pärast kasutusmoodulist väljumist. Kuna peamised materjalid, nagu teek ja lähtestamine, puuduvad, ilmub see pärast programmi töötlemist väljundkuvale 'tühjana' ja naaseb väärtust lugemata, vastasel juhul ei lähe programm käivitamisele.

Järeldus

Selles artiklis oleme arutanud kolme Pythoni operatsioonisüsteemi väljumismeetodiga seotud näidet. Esimeses näites kasutasime Pythoni operatsioonisüsteemi väljumismoodulit alamprotsessist väljumiseks ilma loputus- ja puhastuskäitlejaid kasutamata. Teises näites kasutasime OS-i väljumismoodulit protsessi väljumisel ühes üldises koodiprogrammis ilma puhvri loputamiseta. Kolmas näide on seotud puuduvast protsessist väljumisega, mida parajasti süsteemis ei ole ega salvestata.