Gaidīšanas komandas izejas statusa vērtība ir atkarīga no pēdējās norādītās operandas norādītās komandas. Ja kāds process tiek pārtraukts neparasti, izejas statuss būs lielāks par 128 un atšķirsies no citu komandu izejas statusa vērtībām. pagaidiet komanda iziet ar vērtību 0, kad tā izsauc bez operandiem un visi procesa ID ir zināmi pašreizējam apvalkam, ir pārtraukta. Ja gaidīšanas komanda atklāj kādu kļūdu, tā atgriež jebkuru vērtību no 1 līdz 126. Ja pēdējais procesa ID nav zināms, komanda pagaidīt iziet ar vērtību 127. Šajā apmācībā ir parādīts, kā Linux var izmantot gaidīšanas komandu.
1. piemērs: komandas gaidīšana izmantošana vairākiem procesiem
Pēc šī skripta izpildes fonā darbosies divi procesi, un pirmās atbalss komandas procesa ID tiks saglabāts mainīgajā $ process_id. Kad gaidīšanas komanda tiek izpildīta ar $ process_id, tad nākamā komanda gaidīs pirmās atbalss komandas uzdevuma izpildi. Otrā gaidīšanas komanda tiek izmantota ar “ $! ', Un tas norāda pēdējā darbības procesa ID. ' $? 'Tiek izmantots gaidīšanas komandas statusa vērtības lasīšanai.
#!/bin/bash
izmest ārā 'pārbaudes gaidīšanas komanda1' &
process_id=$!
izmest ārā 'pārbaudes gaidīšanas komanda2' &
pagaidiet $ process_id
izmest ārāDarbs1izgāja ar statusu$?
pagaidiet $!
izmest ārāDarbs2izgāja ar statusu$?
Izeja:
$bashgaidīt1.sh
2. piemērs. Pārbaudiet gaidīšanas komandu pēc komandas nogalināšanas
Nākamajā skriptā gaidīšanas komanda tiek izpildīta pēc procesa pabeigšanas. miega komanda darbojas kā fona process, un komanda kill tiek izpildīta, lai pārtrauktu darbības procesu. Pēc tam tiek izpildīta gaidīšanas komanda ar izbeigtā procesa procesa ID. Rezultātā tiks parādīts izbeigtā procesa procesa ID.
#!/bin/bashizmest ārā “Pārbaudīt gaidīšanas komandu”
Gulēt divdesmit &
pid=$!
nogalināt $ pid
pagaidiet $ pid
izmest ārā $ pidtika pārtraukta.
Izeja:
$bashgaidīt2.sh
3. piemērs: pārbaudiet izejas statusa vērtību
Turpmākajā skriptā funkcija pārbaudīt () sauc ar divām argumentu vērtībām. Apmācības sākumā tiek apspriests, ka, ja komanda gaidīšana ir veiksmīgi izpildīta, izejas vērtība būs 0 un ja komanda gaidīs atklās kādu kļūdu, tā atdos jebkuru vērtību no 1 līdz 126. Pēc skripta palaišanas, ja nokārtosit 0 kā otro argumentu vērtība, tad gaidīšanas komanda tiek veiksmīgi pārtraukta, un, ja jūs pārsniedzat jebkuru vērtību vairāk par nulli, tā beidzas neveiksmīgi.
#!/bin/bashfunkcijupārbaudiet()
{
izmest ārā 'Gulēt $ 1 sekundes'
Gulēt $ 1
Izeja 2 ASV dolāri
}
pārbaudiet$ 1 2 ASV dolāri &
b=$!
izmest ārā 'Statusa pārbaude'
pagaidiet $ b && izmest ārālabi|| izmest ārāNAV LABI
Izeja:
$bashgaidīt3.sh3 0$bashgaidīt3.sh3 5
Ceru, ka šī apmācība palīdzēs pareizi apgūt lietošanas gaidīšanas komandu. Linux ir vēl viena komanda ar nosaukumu Gulēt jāgaida noteiktas reizes, bet starp šīm komandām ir dažas atšķirības. Ja jūs interesē uzzināt par miega komanda tad jūs varat apmeklēt šo saiti.