Comando Bash Wait in Linux

Comando Bash Wait in Linux
L'attesa è un comando Linux che restituisce uno stato di uscita dopo l'attesa di un processo di esecuzione completo. Quando diversi processi vengono eseguiti contemporaneamente, il comando di attesa può solo tenere traccia dell'ultimo. Se il comando di attesa non è associato a un lavoro di lavoro o di processo, attenderà il completamento di tutti i processi figlio prima di restituire uno stato di uscita. Il comando Bash Wait viene spesso utilizzato con gli ID di processo o il comando ID lavoro.

In questo tutorial, esploreremo il comando Bash Wait in Linux.

Sintassi:

La sintassi generale del comando di attesa in Linux è:

Aspetta [opzione] id

ID sarebbe un ID di processo o un ID lavoro.

Spiegare il comando Bash Wait in Linux:

Innanzitutto, crea un file utilizzando il comando touch:

$ touch Bashwait.sh

Rendi questo file eseguibile utilizzando il comando seguente:

$ chmod +x nome file

Una volta concessi i privilegi eseguibili al file, aprire il file e scrivere uno script nel file bash:

#!/Bin/Bash
Dormi 3 &
ProcessID = $!
Echo "PID: $ ProcessId"
Aspetta $ ProcessID
Echo "Uscita Stato: $?"

$! è una variabile in bash che memorizza il PID del processo più recente.

Ora, esegui lo script come segue:

$ ./nome del file
$ ./Bashwait.sh

ID processo e lo stato esistente apparirà nella shell.

Utilizzo dell'opzione -n:

Con l'opzione -N, il comando di attesa attende solo un singolo lavoro dall'ID di processo fornito o dalle specifiche del lavoro prima di restituire il suo stato di uscita. Aspetta -n attendere che qualsiasi lavoro di fondo finisca e restituisca lo stato di uscita del lavoro se non vengono forniti argomenti.

Scrivi le righe di seguito nella tua sceneggiatura:

#!/Bin/Bash
Dormi 30 &
Sleep 8 &
Sleep 7 &
Aspetta -N
Echo "Il primo lavoro è stato completato."
Aspettare
Echo "Tutti i lavori sono stati completati."

Successivamente, esegui nuovamente lo script e quando il primo lavoro sarà completato, stamperà il messaggio sul terminale e attende che tutti gli altri lavori vengano completati.

Utilizzo dell'opzione -f:

L'opzione -f attende che ogni ID o lavoro di processo si interrompa prima di restituire il codice di uscita. Il controllo del lavoro è disponibile solo per i prompt reattivi per impostazione predefinita.

Apri Terminal ed Esegui comando:

Attendere il processo 3944.

Apri una finestra di terminale diversa ed esegui il comando Kill per terminare il processo.

Lo stato verrà modificato. Il comando di attesa completerà e restituirà il codice di uscita del processo.

Ripeti i passaggi di cui sopra con il comando -f.

Script with Wait Command:

Stiamo usando 'Hello.sh 'e' bash.Script Sh 'per dimostrazione. Il 'ciao.Sh 'Script stampa numeri da 1 a 5 e' bash.Sh 'Script Chiama Hello.Sh e lo esegue in background, con il PID di Hello.sh e aspettando che finisca.

Crea due script con il nome Hello e Bash:

Aggiungi le linee di seguito donate nel ciao.File SH:

#!/Bin/Bash
per i in 1 2 3 4 5 6 7 8 9 10
Fare
Echo “Ciao.Sh - Numero loop $ i."
Fatto

Aggiungi le righe di seguito nella sceneggiatura bash:

#!/Bin/Bash
Echo “ha iniziato a bash.sh"
echo “ha iniziato ciao.sh"
./Ciao.sh &
Process_id = $!
Aspetta $ Process_id
Echo “ha completato ciao.sh

Produzione:

Conclusione:

Quando un utente desidera interrompere un processo, il sistema rilascia tutte le risorse conservate dal processo e attende un altro per iniziare. Dovremo avvisare il processo che può riavviare l'esecuzione una volta completati gli altri processi. Il comando di attesa in bash attende per completare l'esecuzione e restituisce lo stato di uscita al termine dell'esecuzione del processo. In questo manuale, abbiamo visto alcuni esempi del comando Bash Wait in Linux.