Linux naredbe

Pričekajte naredbu u Linuxu

Pričekajte naredbu u Linuxu
čekati je ugrađena naredba Linuxa koja čeka dovršenje bilo kojeg pokrenutog postupka. čekati naredba se koristi s određenim ID-om procesa ili ID-om posla. Kada se u ljusci izvodi više procesa, trenutna će ljuska znati samo ID procesa posljednje naredbe. Ako se ovaj put izvrši naredba wait, primijenit će se na zadnju naredbu. Ako se s naredbom čeka ne dodeli niti jedan proces ili id ​​posla, on će pričekati da se svi trenutni podređeni procesi dovrše i vraća status izlaza.

Vrijednost statusa izlaza naredbe za čekanje ovisi o naredbi naznačenoj zadnjim navedenim operandom. Kada se bilo koji proces abnormalno završi, tada će status izlaza biti veći od 128 i razlikovat će se od vrijednosti statusa izlaza drugih naredbi. čekati naredba izlazi s vrijednošću 0 kada poziva bez operanda i ako su trenutni ljuski prekinuti svi ID-ovi procesa. Ako naredba wait otkrije bilo kakvu pogrešku, tada vraća bilo koju vrijednost od 1 do 126. Ako je zadnji ID procesa nepoznat, tada naredba za čekanje izlazi s vrijednošću 127. Kako možete koristiti naredbu wait u Linuxu prikazano je u ovom vodiču.

Primjer-1: Korištenje naredbe čeka za više procesa

Nakon izvršavanja sljedeće skripte, dva procesa će se izvoditi u pozadini, a ID procesa prve naredbe echo pohranjuje se u varijablu $ process_id. Kada se naredba wait izvrši s $ process_id, sljedeća će naredba pričekati dovršenje zadatka prve naredbe echo. Druga naredba čekanja koristi se s '$!'i ovo označava ID procesa zadnjeg pokrenutog procesa. '$?'koristi se za čitanje vrijednosti statusa naredbe wait.

#!/ bin / bash
odjek "testiranje naredbe čekanja1" &
id_procesa = $!
odjek "testiranje naredbe za čekanje2" &
pričekajte $ process_id
echo Posao 1 izašao sa statusom $?
čekaj $!
echo Posao 2 izašao sa statusom $?

Izlaz:

$ bash pričekaj1.sh

Primjer-2: Test naredbe za čekanje nakon upotrebe naredbe kill

U sljedećoj skripti naredba čeka se izvršava nakon završetka postupka. naredba za spavanje se izvodi kao pozadinski proces, a naredba kill se izvršava za prekid tekućeg procesa. Nakon toga izvršava se naredba čekanja s ID-om procesa završenog procesa. Izlaz će prikazati ID procesa završenog procesa.

#!/ bin / bash
odjek "Ispitivanje naredbe čekanja"
spavaj 20 &
pid = $!
ubiti $ pid
čekaj $ pid
echo $ pid je prekinut.

Izlaz:

$ bash pričekaj2.sh

Primjer-3: Provjerite vrijednost statusa izlaza

U sljedećoj skripti, funkcija ček() poziva se s dvije vrijednosti argumenta. Na početku vodiča raspravlja se o tome da će, ako je naredba wait uspješno izvršena, vrijednost izlaza 0, a ako naredba wait otkrije bilo kakvu pogrešku, tada će vratiti bilo koju vrijednost između 1 i 126. Nakon pokretanja skripte, ako kao drugu vrijednost argumenta prenesete 0, tada naredba wait uspješno završava, a ako prenesete bilo koju vrijednost veću od nule, neuspješno se završava.

#!/ bin / bash
provjera funkcije ()

odjek "Spavanje 1 sekundu"
spavati 1 $
izlaz $ 2

provjerite $ 1 $ 2 &
b = $!
odjek "Provjera statusa"
pričekaj $ b && echo OK || odjek NIJE OK

Izlaz:

$ bash pričekaj3.sh 3 0
$ bash pričekaj3.sh 3 5

Nadam se da će vam ovaj vodič pomoći da pravilno naučite naredbu use wait. U Linuxu postoji još jedna naredba, nazvana spavati pričekati određeno vrijeme, ali postoje neke razlike između ovih naredbi. Ako ste zainteresirani za naredbu spavanja, posjetite ovaj link.

Kako koristiti Xdotool za poticanje klikova i pritiska miša u Linuxu
Xdotool je besplatni alat za naredbene retke otvorenog koda za simulaciju klikova mišem i pritiska tipki. Ovaj će članak pokrivati ​​kratki vodič o ko...
Top 5 ergonomskih proizvoda za računalni miš za Linux
Uzrokuje li dugotrajno korištenje računala bolove u zapešću ili prstima? Patite li od ukočenih zglobova i stalno se morate rukovati? Osjećate li goruć...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...