Pagaidiet komandu Linux

Wait Command Linux



pagaidiet ir iebūvēta Linux komanda, kas gaida, lai pabeigtu jebkuru darbības procesu. pagaidiet komanda tiek izmantota ar noteiktu procesa ID vai darba ID. Ja apvalkā darbojas vairāki procesi, pašreizējais apvalks zinās tikai pēdējās komandas procesa ID. Ja šoreiz tiek izpildīta gaidīšanas komanda, tā tiks piemērota pēdējai komandai. Ja ar gaidīšanas komandu netiek norādīts procesa ID vai darba ID, tas gaidīs, līdz tiks pabeigti visi pašreizējie pakārtotie procesi, un atgriezīs izejas statusu.

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/bash
izmest ā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/bash
funkcijupā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.