In questo tutorial, esploreremo il comando Bash Wait in Linux.
Sintassi:
La sintassi generale del comando Wait in Linux è:
aspetta [opzione] ID
L'ID sarebbe un ID processo o ID lavoro Job.
Spiegazione del comando Bash Wait in Linux:
Innanzitutto, crea un file utilizzando il comando touch:
$ tocca BashWait.sh
Rendi questo file eseguibile utilizzando il comando seguente:
$ chmod +x nomefile
Una volta concessi i privilegi eseguibili al file, apri il file e scrivi uno script nel file bash:
#!/bin/bashdormire 3 e
IDprocesso=$!
echo "PID: $IDprocesso"
aspetta $processID
echo "Stato di uscita: $?"
$! è una variabile in BASH che memorizza il PID del processo più recente.
Ora, esegui lo script come segue:
$ ./nome del file$ ./BashWait.sh
L'ID del processo e lo stato Exist appariranno nella shell.
Usando l'opzione -n:
Con l'opzione -n, il comando wait attende solo il completamento di un singolo lavoro dall'ID processo fornito o dalle specifiche del lavoro prima di restituire il suo stato di uscita. Wait -n attende il completamento di qualsiasi lavoro in background e restituisce lo stato di uscita del lavoro se non vengono forniti argomenti.
Scrivi le righe indicate di seguito nel tuo script:
#!/bin/bashdormire 30 e
dormire 8 e
dormire 7 e
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 attenderà il completamento di tutti gli altri lavori.
Usando l'opzione -f:
L'opzione -f attende che ogni ID processo o lavoro si fermi prima di restituire il codice di uscita. Il controllo del lavoro è disponibile solo per i prompt reattivi per impostazione predefinita.
Apri il terminale ed esegui il comando:
Attendi il processo 3944.
Apri una finestra di terminale diversa ed esegui il comando kill per terminare il processo.
Lo stato sarà cambiato. Il comando Wait completerà e restituirà il codice di uscita del processo.
Ripeti i passaggi sopra indicati con il comando -f.
Script con comando Wait:
Stiamo usando "ciao".sh' e 'bash.sh' script per la dimostrazione. Il "ciao".sh' stampa i numeri da 1 a 5 e 'bash.sh' script chiama ciao.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 righe sotto indicate nel ciao.file sh:
#!/bin/bashper io in 1 2 3 4 5 6 7 8 9 10
fare
echo “ciao.sh - Numero di loop $i."
fatto
Aggiungi le righe indicate di seguito nello script bash:
#!/bin/bashecho “Iniziato bash.sh"
echo “Iniziato ciao.sh"
./Ciao.sh &
process_id=$!
aspetta $process_id
echo “Completato ciao.sh
Produzione:
Conclusione:
Quando un utente desidera interrompere un processo, il sistema rilascia tutte le risorse mantenute dal processo e attende l'avvio di un altro. Avremo bisogno di notificare al processo che può riavviare l'esecuzione una volta che gli altri processi sono stati completati. Il comando wait in bash attende di completare l'esecuzione e restituisce lo stato di uscita quando l'esecuzione del processo è completa. In questo manuale, abbiamo visto alcuni esempi del comando Bash wait in Linux.