Python besturingssysteem afsluiten

Python Besturingssysteem Afsluiten



De module Besturingssystemen van Python biedt een verscheidenheid aan tools voor verzending met het besturingssysteem. Deze module biedt een modulaire methode om de functie te gebruiken, afhankelijk van het besturingssysteem. Er worden verschillende methoden gebruikt in de programmeertaal Python, en 'Python os exit' is er een van. Met deze functie kan men een Python-proces met een specifieke status beëindigen zonder reinigingshandlers of spoelbuffers uit te voeren, bijvoorbeeld met een 'os fork()' systeemaanroep, waarbij deze functie doorgaans wordt gebruikt in het onderliggende proces.

Een computerfunctie kan de uitvoering beëindigen door een exit-systeemaanroep te starten op veel computerbesturingssystemen. In een multithreading-systeem symboliseert een exit vaak het stopzetten van een operationele thread. Het besturingssysteem haalt de resources op, waaronder bestanden en geheugen, voor resourcebeheer. Maar als we het hebben over de standaardmethode voor afsluiten, dan zou het waarschijnlijk de 'sys.exit(n)'-methode zijn.







Syntaxis

De syntaxis van de Python os exit-methode wordt hieronder gegeven:




De syntaxis van de Python os exit-methode bepaalt twee dingen: het eerste deel vertegenwoordigt de exit-status van het proces en deze module retourneert geen waarde.



Voorbeeld # 1: de methode 'os._exit()' gebruiken om meerdere processen af ​​te sluiten zonder een opschoonhandler te bellen

De exit-methode kan in elk besturingssysteem worden gebruikt, voornamelijk in 'Windows' of 'Linux' besturingssystemen. In ons eerste voorbeeld zullen we kijken naar de meerdere processen die plaatsvinden als bovenliggend proces en onderliggend proces, waar het verwerking uitvoert zonder de opschoonhandler in de functie of het programma aan te roepen. Deze module zou efficiënter werken in het besturingssysteem 'Linux'. Een thread-opruiming 'pop()' met een andere waarde dan nul voor de parameter execute zorgt ervoor dat de opschoonhandler wordt aangeroepen. Alle opruimprocedures die zijn gepusht maar nog niet zijn vrijgegeven, worden van de sanitatiestapel geplukt en uitgevoerd in de volgorde last-in en first-out (LIFO) wanneer de thread stopt, maar in dit voorbeeld is het niet nodig om deze aan te roepen.






Het codefragment voor ons eerste voorbeeld van Python os exit wordt hieronder uitgelegd:

Het programma is gestart door de bibliotheek van 'os' te importeren, omdat we ons zorgen maken over het doen van de voorwaarden en voorwaarden om te koppelen aan het besturingssysteem van ons apparaat. Vervolgens hebben we 'PID' gemaakt en de 'Python' gekoppeld aan de 'os' -bibliotheek. We gebruiken nu de voorwaardelijke instructie waarbij de 'als' -voorwaarde is 'PID is groter dan 0'.



Daarna hebben we de functie 'print()' gebruikt, die de instructie '\nProcessing in Parent' moet afdrukken, waarbij '\n' wordt gebruikt om de cursor naar de nieuwe regel binnen de 'if' -voorwaarde over te brengen. De variabele 'info' wordt geïnitialiseerd op het aanroepen van 'os.waitpid(pid,0)', waarbij 'PID' begint vanaf het '0'-interval. Verder hebben we een andere 'if' -voorwaarde toegepast op 'os.WIFEXITED ()' waar we het de informatiebeschrijving '1' hebben gegeven voor de verwerking ervan. Het slaat zijn verwerkingsinformatie op in de door de gebruiker gedefinieerde functie van 'python_code', die de printverklaring van 'Child Code to be Exit' bevat en deze toekent aan de waarde 'python_code' binnen de functie 'print()'.

Nu komen we bij onze 'anders' -voorwaarde, die vier afdrukinstructies heeft. De instructie in de eerste 'print()'-functie is 'Processing in Child'. Het tweede afdrukstatement is 'ID of Processing:' en daarmee bevat het de waarde van 'os.getpid()', de functie die het codebestand van Python bevat voor verwerking door kinderen. De derde afdrukopdracht die hier wordt gebruikt, is 'Hey Python !!' en de vierde printverklaring is 'Child Processing Exists!' Ten slotte hebben we onze hoofdmodule toegepast om de verwerking van de programma-uitvoering van het bestaande bestand dat 'os._exit()' is en waaraan de variabele 'os.EX_OK' is toegewezen, af te sluiten zonder enige functie voor verwerking terug te sturen.


Omdat verwerking door kinderen de prioriteit heeft om als eerste te starten en het programma te verlaten bij de verwerking door de ouders, omdat dit meer tijd kost. De output snapshot geeft dus gewoon de afdrukinstructies weer die we in de vorige code hebben verstrekt, maar het bestand dat we in het systeem hebben gemaakt, geeft de verwerkings-ID weer, '78695', die we kunnen zien in de laatste snapshot. En dan zou de verwerking van parent-exit '0' zijn, omdat het niet eens een grondige verwerking ondergaat, omdat het voor meer de handler vereist.

Voorbeeld # 2: Gebruik van de 'os._exit()'-methode om een ​​algemeen proces af te sluiten zonder buffers te spoelen

In dit voorbeeld zullen we kijken naar het eenvoudige algemene fenomeen van verwerkingsuitvoering nadat de intervallen zijn doorlopen om het door het systeem te lezen. Ook hier gebruiken we de spoelbuffers niet eens omdat die niet nodig zijn voor de verwerking. 'os._exit' zou immers efficiënter werken om het proces te verlaten.


Laten we eens kijken naar de code waarin we de Python-bibliotheek 'os' hebben geïmporteerd. Het programma begint met een for-lus waarin we de variabele 'p' gebruiken om wat gegevens vast te houden en het bereik instellen op '6'. Daarna hebben we de voorwaarde 'als' toegepast op de variabele 'p', die het totale aantal intervallen gelijk maakt aan '4'. Aangezien het verwerkingssysteem begint met de index '0', voert het het proces uit van '0' tot '4'. Zodra aan de voorwaarde wordt voldaan, wat betekent dat de waarde van 'p' gelijk wordt aan 4, zal het programma de volgende instructie uitvoeren, wat de functie 'print()' is, en de verwerkingseenheid 'exit' geven. In de laatste regel hebben we de functie 'os._exit()' gebruikt om de functie af te sluiten na te zijn gestart vanaf '0' en vervolgens de verwerking te stoppen. Uiteindelijk zullen alle waarden die na verwerking zijn opgeslagen in variabele 'p' worden afgedrukt op het uitvoerscherm zoals we de functie 'print()' hebben gebruikt door de variabele 'p' eraan toe te wijzen.


Het uitvoerdisplay zou alleen de cijfers '0', '1', '2' en '3' weergeven, aangezien dit de vier cijfers zijn die na verwerking zijn bereikt, en daarna zou de verwerking een exit zijn.

Voorbeeld#3: De methode 'os._exit()' gebruiken om een ​​proces te verlaten dat niet in de buffer bestaat

Soms proberen we een aantal processen door te laten die het systeem niet gemakkelijk kon uitvoeren of om welke reden dan ook stopte - meestal wanneer de verwerking voor het specifieke programma afwezig is vanwege het bestaan ​​van specifiek materiaal, bibliotheek of bestandstoewijzing .


Laten we eens kijken naar ons codefragment waarin we 'Nummers' als variabele hebben gebruikt en deze hebben ingesteld op een bereik van '0' tot '7'. Nu hebben we de 'if' -voorwaarde toegepast waarbij 'Numbers' gelijk zijn aan '5' -indexen, en vervolgens hebben we de 'print ()' -instructie gebruikt om de 'exit' -waarde af te drukken. Daarna gebruikten we een specifieke module van 'raise SystemExit' om de verwerking af te sluiten, zoals de 'os._exit' en gebruikten we de functie 'print()' opnieuw om de getallen weer te geven die zijn opgeslagen in de variabele 'Numbers' nadat het proces is afgesloten.


De momentopname van de uitvoer zal duidelijk beschrijven dat het de 'Nummers' -waarden niet zou weergeven na de module van het afsluiten van gebruik. Aangezien belangrijk materiaal afwezig is, zoals bibliotheek en initialisatie, zou het na het verwerken van het programma 'leeg' in de uitvoerweergave terugkeren en terugkeren zonder enige waarde te lezen, of het kan zijn dat het programma niet wordt uitgevoerd.

Conclusie

In dit artikel hebben we drie voorbeelden besproken die verband houden met de Python os exit-methode. In het eerste voorbeeld gebruikten we de Python os exit-module om het kindproces af te sluiten zonder gebruik te maken van een flushing- en cleanup-handler. In het tweede voorbeeld gebruikten we de os exit-module in proces exit in een enkel algemeen codeprogramma zonder buffer leeg te maken. Het derde voorbeeld heeft betrekking op het verlaten van het afwezigheidsproces dat momenteel niet aanwezig of opgeslagen is in het systeem.