Bash Wait komanda Linux

Bash Wait Command Linux



Gaidīšana ir Linux komanda, kas atgriež izejas statusu pēc visa darbības procesa gaidīšanas. Ja vienlaikus darbojas vairāki procesi, gaidīšanas komanda var izsekot tikai pēdējam. Ja gaidīšanas komanda nav saistīta ar darbu vai procesa ID, tā pirms iziešanas statusa atgriešanas nogaidīs, līdz tiks pabeigti visi pakārtotie procesi. Bash gaidīšanas komandu bieži izmanto kopā ar procesa ID vai uzdevuma ID komandu.

Šajā apmācībā mēs izpētīsim Bash Wait komandu Linux.







Sintakse:

Komandas Wait komandas vispārējā sintakse ir šāda:



pagaidiet [opcija] ID

ID būtu procesa ID vai darba ID.



Bash Wait komandas izskaidrošana Linux:

Vispirms izveidojiet failu, izmantojot pieskāriena komandu:





$pieskartiesBashWait.sh

Padariet šo failu izpildāmu, izmantojot zemāk esošo komandu:



$chmod+x faila nosaukums

Kad failam ir piešķirtas izpildāmās tiesības, atveriet failu un uzrakstiet skriptu bash failā:

#!/bin/bash

Gulēt 3 &

processID=$!

izmest ārā 'PID:$ processID'

pagaidiet $ processID

izmest ārā 'Iziešanas statuss: $?'

$! ir mainīgais BASH, kas saglabā pēdējā procesa PID.

Tagad palaidiet skriptu šādi:

$./faila nosaukums

$./BashWait.sh

Apvalkā parādīsies procesa ID un esošais statuss.

Izmantojot opciju –n:

Izmantojot opciju –n, gaidīšanas komanda tikai gaida, līdz tiks pabeigts viens darbs no norādītā procesa ID vai darba specifikācijām, pirms atgriezīsies izejas statuss. Pagaidiet -n gaida, kad tiks pabeigts jebkurš fona darbs, un atgriež darba iziešanas statusu, ja netiek sniegti argumenti.

Skriptā ierakstiet tālāk norādītās rindiņas:

#!/bin/bash

Gulēt 30 &

Gulēt 8 &

Gulēt 7 &

pagaidiet -n

izmest ārā 'Pirmais darbs ir pabeigts.'

pagaidiet

izmest ārā 'Visi darbi ir pabeigti.'

Pēc tam vēlreiz palaidiet skriptu, un, kad pirmais darbs ir pabeigts, tas izdrukās ziņojumu terminālī un gaidīs, kamēr tiks pabeigti visi pārējie darbi.

Izmantojot opciju -f:

Pirms izejas koda atgriešanas opcija -f nogaida, līdz tiek apturēta katra procesa ID vai darba darbība. Darba kontrole pēc noklusējuma ir pieejama tikai atsaucīgām uzvednēm.

Atveriet termināli un palaidiet komandu:

Pagaidiet procesu 3944.

Atveriet citu termināļa logu un izpildiet komandu kill, lai izbeigtu procesu.

Statuss tiks mainīts. Komanda Gaidīt tiks pabeigta un atgriezīs procesa izejas kodu.

Atkārtojiet iepriekš minētās darbības ar komandu -f.

Skripts ar komandu Gaidīt:

Demonstrēšanai mēs izmantojam skriptus “hello.sh” un “bash.sh”. Skripts “hello.sh” drukā skaitļus no 1 līdz 5, un “bash.sh” skripts izsauc hello.sh un palaiž to fonā, saņemot hello.sh PID un gaidot tā beigas.

Izveidojiet divus skriptus ar nosaukumu hello un bash:

Pievienojiet tālāk norādītās rindiņas failā hello.sh:

#!/bin/bash

priekšiiekšā 1 2 3 4 5 6 7 8 9 10

darīt

izmest ārāhello.sh - cilpas numurs$ i.

darīts

Pievienojiet zemāk norādītās rindiņas bash skriptā:

#!/bin/bash

izmest ārāSākās bash.sh

izmest ārāSākās hello.sh

./sveiki.sh&

process_id=$!

pagaidiet $ process_id

izmest ārāPabeigts hello.sh

Izeja:

Secinājums:

Ja lietotājs vēlas apturēt procesu, sistēma atbrīvo visus procesa saglabātos resursus un gaida, kad sāksies cits process. Mums būs jāpaziņo procesam, ka tas var atsākt izpildi, kad citi procesi ir pabeigti. Gaidīšanas komanda bash gaida izpildes pabeigšanu un atgriež izejas statusu, kad procesa izpilde ir pabeigta. Šajā rokasgrāmatā mēs esam redzējuši dažus Bash gaidīšanas komandas piemērus Linux.