Python OS izeja

Python Os Izeja



Python operētājsistēmu modulis piedāvā dažādus rīkus pārsūtīšanai ar operētājsistēmu. Šis modulis piedāvā modulāru līdzekli funkcijas izmantošanai atkarībā no operētājsistēmas. Python programmēšanas valodā tiek izmantotas dažādas metodes, un viena no tām ir “Python os exit”. Izmantojot šo funkciju, Python procesu var beigt ar noteiktu statusu, nepalaižot tīrīšanas apdarinātājus vai skalošanas buferus, piemēram, ar “os fork()” sistēmas izsaukumu, kur šī funkcija parasti tiek izmantota pakārtotajā procesā.

Datora funkcija var beigt tās izpildi, iniciējot izejas sistēmas izsaukumu daudzās datoru operētājsistēmās. Daudzpavedienu sistēmā izeja bieži vien simbolizē darbības pavediena pārtraukšanu. Operētājsistēma resursu pārvaldībai izgūst resursus, tostarp failus un atmiņu. Bet, ja mēs runājam par standarta iziešanas metodi, tad tā, iespējams, būtu “sys.exit(n)” metode.







Sintakse

Python OS izejas metodes sintakse ir norādīta tālāk:




Python OS izejas metodes sintakse nosaka divas lietas: pirmā daļa atspoguļo procesa izejas statusu, un šis modulis neatgriezīs nekādu vērtību.



1. piemērs. Metodes “os._exit()” izmantošana, lai izietu no vairākiem procesiem, neizsaucot nevienu tīrīšanas apdarinātāju

Izejas metodi var darbināt jebkurā operētājsistēmā, galvenokārt “Windows” vai “Linux” operētājsistēmās. Pirmajā piemērā mēs aplūkosim vairākus procesus, kas notiek kā pamatprocess un pakārtots process, kur tas veic apstrādi, neizsaucot tīrīšanas apdarinātāju funkcijā vai programmā. Šis modulis darbotos efektīvāk operētājsistēmā “Linux”. Pavedienu tīrīšana “pop()” ar izpildes parametra vērtību, kas nav nulle, izraisa tīrīšanas apstrādātāja izsaukšanu. Visas tīrīšanas procedūras, kas ir pārsūtītas, bet vēl nav izlaistas, tiek izmestas no sanitārijas un tiek izpildītas pēdējās ievadīšanas un pirmās izslēgšanas (LIFO) secībā, kad pavediens apstājas, taču šajā piemērā tas nav jāizsauc.






Koda fragments mūsu pirmajam Python OS izejas piemēram ir izskaidrots tālāk:

Programma tika uzsākta, importējot “os” bibliotēku, jo mēs esam nobažījušies par nosacījumu un nosacījumu izpildi, lai izveidotu saiti ar mūsu ierīces operētājsistēmu. Pēc tam mēs izveidojām “PID” un saistījām “Python” ar “os” bibliotēku. Tagad mēs izmantojam nosacījumu paziņojumu, kur nosacījums “ja” ir “PID ir lielāks par 0”.



Pēc tam mēs izmantojām funkciju “print()”, kurai ir jādrukā paziņojums “\nApstrāde vecāku sistēmā”, kur “\n” tiek izmantots kursora pārvietošanai uz jauno rindu nosacījuma “if” ietvaros. Mainīgais “info” tiek inicializēts līdz “os.waitpid(pid,0)” izsaukšanai, kur “PID” sākas no “0” intervāla. Turpinot darbu, mēs piemērojām vēl vienu “ja” nosacījumu “os.WIFEXITED()”, kur piešķīrām tam informācijas aprakstu “1” tās apstrādei. Tas saglabā savu apstrādes informāciju lietotāja definētajā funkcijā “python_code”, kas satur drukāšanas paziņojumu “Child Code be Exit” un piešķir tai vērtību “python_code” funkcijā “print()”.

Tagad mēs nonākam pie mūsu “cits” nosacījuma, kurā ir četri drukāti paziņojumi. Paziņojums pirmajā funkcijā “print()” ir “Apstrāde bērnā”. Otrais drukāšanas priekšraksts ir “Apstrādes ID:”, un līdz ar to tajā ir “os.getpid()” vērtība, kas satur Python koda failu bērnu apstrādei. Trešais šeit izmantotais drukas paziņojums ir 'Hey Python!!' un ceturtais drukātais paziņojums ir “Bērnu apstrāde pastāv!” Visbeidzot, mēs izmantojām mūsu galveno moduli, lai izietu no esošā faila programmas izpildes apstrādes, kas ir “os._exit()” un kuram ir piešķirts mainīgais “os.EX_OK”, neatgriežot nevienu funkciju apstrādei.


Tā kā bērnu apstrāde ir prioritāte, lai vispirms palaistu programmu un izietu no vecākapstrādes, jo tas prasa vairāk laika. Tātad izvades momentuzņēmums vienkārši parāda iepriekšējā kodā sniegtos drukāšanas paziņojumus, bet sistēmā izveidotajā failā tiek parādīts tā apstrādes ID “78695”, ko mēs varam redzēt pēdējā momentuzņēmumā. Un tad vecākizejas apstrāde būtu “0”, jo tai pat netiek veikta rūpīga apstrāde, jo vairāk ir nepieciešams apstrādātājs.

2. piemērs: Metodes “os._exit()” izmantošana, lai izietu no vispārējā procesa, neizskalojot buferus

Šajā piemērā mēs apskatīsim vienkāršu vispārīgu apstrādes izpildes izbeigšanas fenomenu pēc tam, kad tiek izpildīti intervāli no tā nolasīšanas sistēmā. Šeit mēs pat neizmantojam skalošanas buferus, jo tie nav nepieciešami apstrādei. Galu galā “os._exit” darbotos efektīvāk, lai izietu no procesa.


Apskatīsim kodu, kurā mēs importējām Python bibliotēku “os”. Programma sākas ar for-cilpu, kurā mēs izmantojam mainīgo “p”, lai saglabātu dažus datus un iestatītu tā diapazonu uz “6”. Pēc tam mainīgajam “p” piemērojām nosacījumu “ja”, kas kopējos intervālus izlīdzina ar “4”. Tā kā apstrādes sistēma sākas ar indeksu “0”, tā palaistu procesu no “0” līdz “4”. Tiklīdz nosacījums tiks saskaņots, kas ir “p” vērtība, kļūst vienāda ar 4, programma izpildīs nākamo paziņojumu, kas ir funkcija “print()”, un nodrošinās apstrādes vienību “exit”. Pēdējā rindā mēs izmantojām funkciju “os._exit()”, lai izietu no funkcijas, sākot no “0” un pēc tam beigtu apstrādi. Galu galā visas vērtības, kas pēc apstrādes tika saglabātas mainīgajā “p”, tiks izdrukātas izvades displejā, jo mēs izmantojām funkciju “print()”, piešķirot tai mainīgo “p”.


Izvades displejā tiktu parādīti tikai skaitļi “0”, “1”, “2” un “3”, jo tie ir četri skaitļi, kas sasniegti pēc apstrādes, un pēc tam apstrāde būtu izeja.

3. piemērs. Metodes “os._exit()” izmantošana, lai izietu no procesa, kas neeksistē buferī

Dažreiz mēs cenšamies iziet dažus procesus, kurus sistēmai nebija viegli veikt apstrādi vai apturēt kādu iemeslu dēļ — galvenokārt tad, ja konkrētajai programmai apstrāde nenotiek kāda konkrēta materiāla, bibliotēkas vai failu sadalījuma dēļ. .


Apskatīsim mūsu koda fragmentu, kurā kā mainīgo izmantojām “Cipari” un iestatījām to diapazonā no “0” līdz “7”. Tagad mēs izmantojām nosacījumu “ja”, kur “skaitļi” ir vienādi ar indeksiem “5”, un pēc tam izmantojām paziņojumu “print()”, lai izdrukātu “izejas” vērtību. Pēc tam mēs izmantojām īpašu moduli “raise SystemExit”, lai izietu no apstrādes, piemēram, “os._exit”, un atkal izmantojām funkciju “print()”, lai pēc procesa izbeigšanas parādītu mainīgajā “Numbers” saglabātos skaitļus.


Izvades momentuzņēmums skaidri apraksta, ka pēc izejas izmantošanas moduļa netiks rādītas “Numurs” vērtības. Tā kā nav galvenā materiāla, piemēram, bibliotēkas un inicializācijas, tas pēc programmas apstrādes izvades displejā atgrieztos “tukšs” un atgrieztos bez vērtības nolasīšanas, vai arī programma netiek izpildīta.

Secinājums

Šajā rakstā mēs esam apsprieduši trīs piemērus, kas saistīti ar Python OS izejas metodi. Pirmajā piemērā mēs izmantojām Python OS izejas moduli, lai izietu no pakārtotā procesa, neizmantojot skalošanas un tīrīšanas apdarinātāju. Otrajā piemērā mēs izmantojām operētājsistēmas izejas moduli procesa iziešanai vienā vispārējā koda programmā bez bufera skalošanas. Trešais piemērs ir saistīts ar izbeigšanu no neesoša procesa, kas pašlaik nav vai netiek saglabāts sistēmā.