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.