Comenzi Linux

Cum să așteptați finalizarea unui proces specific în Linux

Cum să așteptați finalizarea unui proces specific în Linux
Dacă operați într-un script shell Linux și doriți să obțineți rezultatul dorit al scriptului, devine obligatoriu să utilizați comanda wait în scriptul dvs. Comanda de așteptare este implementată ca o comandă încorporată în majoritatea distribuțiilor Linux, care permite așteptarea finalizării unui anumit proces, apoi returnează starea sa executată. Pentru funcționarea sa, trebuie să-l utilizați cu un id părinte sau un id copil. În articolul de astăzi, vom discuta despre abordările pentru a aștepta un proces specific în Linux.

Notă: Vom folosi Ubuntu 20.04 pentru efectuarea procesului specific și a comenzii sale de așteptare.

Cum funcționează comanda de așteptare:

Comanda va monitoriza ultimul proces. În scriptul shell, primul număr de identificare este dat ultimei instrucțiuni a scriptului și este procesat cu prioritate. Puteți utiliza comanda de așteptare pentru a o face să aștepte ultima instrucțiune și să proceseze prima instrucțiune.

Pasul 1: Creați fișierul pe editorul de text pentru a scrie un script:

Înainte de a efectua comanda de așteptare, trebuie inițial să creați un fișier de script în editorul de text folosind următoarea comandă anexată.

$ gedit

Utilitarul „gedit” va deschide direct editorul de text pentru a scrie scriptul de executat. Deschiderea va dura ceva timp, după care o veți putea folosi imediat. Editorul de scripturi va apărea ca imaginea prezentată mai jos:

Pasul 2: Scrieți un script cu comanda de așteptare în editorul de text:

Pentru utilizarea comenzii de așteptare, inițial, trebuie să scrieți un script pentru a aplica comanda în ea. Pentru a scrie un script în profilul bash, porniți-l întotdeauna cu # @ / bin / bash așa cum se arată mai jos:

În imaginea de mai jos, există un script în care există două lucrări, una este atribuită părintelui, iar cealaltă este atribuită copilului. În linia 3 există o comandă de așteptare care va permite copilului să aștepte până când părintele își finalizează procesul.

Salvați acest script de imagine de mai sus cu orice nume folosind formatul .SH (.Sh) așa cum se arată în exemplul dat.

Pasul 3: Executați procesul pentru a verifica rezultatul scriptului:

Pentru a executa scriptul, trebuie să vă întoarceți la terminalul serverului Linux. Pentru executare, trebuie să scrieți comanda „bash” și numele fișierului creat salvat în Linux. Iată comanda anexată mai jos:

$ bash mai întâi. SH

De îndată ce executarea acestei comenzi este finalizată, veți obține următoarea ieșire afișată în instantaneul de mai jos.

Așa cum se arată mai sus, clasa părinte se execută mai întâi, iar la acel moment clasa copil se află în stadiul de oprire pentru executarea sa. Clasa copil se execută imediat după executarea clasei părinți. În acest cod, Copilul a fost închis. „Comanda 1 de așteptare a copilului” va fi afișată după ce părintele așteaptă comanda 2; acest lucru se întâmplă doar din cauza comenzii de așteptare dată clasei de copii.

Un alt exemplu de comandă de așteptare:

Știind mai clar despre cum funcționează această comandă, este posibil să aveți un alt exemplu cu execuție de script diferită. Repetați același proces pentru a scrie un script așa cum s-a menționat mai sus folosind comanda „gedit” pentru a deschide un editor de text și după ce ați scris scriptul, salvați fișierul cu orice nume care menționează .sh i-e nou.sh așa cum se arată în imaginea atașată mai jos.

Rezultatul acestui script va fi divers; nu va exista nicio secvență. Depinde de CPU să execute funcția în primul rând, de obicei CPU afișează ultimul id la început; mai jos este prezentat rezultatul acestui program:

În imaginea atașată mai sus, puteți vedea ultimul id al variabilei executate mai întâi, iar această secvență urmează până la primul id.

Adăugați comanda de așteptare pentru a obține rezultatul corect:

Acum va trebui să adăugați comanda de așteptare pentru a executa într-o ordine adecvată. În imaginea de mai jos la rândurile 3,6,7, se adaugă comanda de așteptare; acum, va permite clasei părinte să aștepte până la terminarea clasei copil.

Pentru a obține rezultatul acestui program, efectuați aceeași metodă așa cum se arată mai sus. Utilizați comanda cu cuvânt cheie bash împreună cu numele fișierului de cod deja creat. Ieșirea acestui program este inexactă în ordine și nu este asortată așa cum se arată în imaginea anexată.

Iată rezultatul corespunzător al programului și poate fi ușor de înțeles. „Mă bucur să ne vedem aici” va fi afișat în cele din urmă, deoarece comanda de așteptare este aplicată la această declarație, deci aceasta trebuie să aștepte până când alte instrucțiuni sunt procesate și arată rezultatul relevant.

Câteva utilizări specifice ale comenzii „Așteptați”:

Mai sus, am văzut exemple ample folosind comanda wait pentru a avea o ieșire adecvată și anticipată a scriptului. Atunci când diferite procese rulează în shell, doar ultimul cod de proces de comandă este prezent în shell. Deci, pentru a rula prima comandă, mai întâi, trebuie să aplicați comanda de așteptare la ultima. Folosim comanda de așteptare mai ales în programul care are mai multe procese pentru a avea o ieșire adecvată.

Concluzie:

Acest articol a explicat detaliile despre comanda de așteptare pentru finalizarea anumitor procese în Linux. Mai sus sunt exemple pentru a înțelege utilizarea comenzii de așteptare și cum funcționează în Linux. Tot ce trebuie să faceți este să beneficiați de acest articol și să utilizați comanda de așteptare din scriptul dvs. pentru a avea propriul rezultat dorit.

How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...