Η εντολή **`wait`** περιμένει μέχρι να τελειώσει μια διεργασία που εκτελείται στο παρασκήνιο.

Χρήση
-----

```
wait [**n**]
```

όπου **n** είναι το αναγνωριστικό της διεργασίας (pid) που εκτελείται ή ο κωδικός της (job ID). Αν δε δίνεται το **n**, η εντολή περιμένει μέχρι να τελειώσουν όλες οι διεργασίες που είναι γνωστές στο κέλυφος.

Η **wait** συνήθως επιστρέφει την κατάσταση εξόδου της τελευταίας διεργασίας που τερματίστηκε. Μπορεί επίσης να επιστρέψει 127 αν το **n** ορίζει μια διεργασία που δεν υπάρχει, ή 0 αν δεν υπάρχουν διεργασίες.

Επειδή η `wait` πρέπει να γνωρίζει τις διεργασίες του τρέχοντος περιβάλλοντος του κελύφους, συνήθως υλοποιείται σαν ενσωματωμένη εντολή του κελύφους.

Παράδειγμα
----------

Η παρακάτω εντολή είναι χρήσιμη όταν τμήμα ενός σεναρίου μπορεί να εκτελεστεί παράλληλα αλλά πρέπει να οριστεί ένα σύνορο, η εκτέλεση μετά το οποίο να εξαρτάται από την επιτυχή εκτέλεση του κώδικα πριν από αυτό. Πρώτα γίνεται λήψη του φακέλου **src/** από έναν υπολογιστή με το όνομα **iona** μέσω της εντολής rsync και ταυτόχρονα ανανεώνονται οι βιβλιοθήκες από τις οποίες εξαρτάται το πρόγραμμα, πριν κατασκευαστεί ο συνδυασμός τους.

```
#!/bin/bash

# Σενάριο παράλληλης ανανέωσης που χρησιμοποιεί την εντολή wait

# Ανανεώνει το τοπικό αντίγραφο
rsync iona:src/. &
# Αναβαθμίζει τις απαιτούμενες βιβλιοθήκες, ή τερματίζει για να δείξει κάποιο σφάλμα στην εκτέλεση της εντολής make
make -C lib || exit 1

# Περιμένει να τελειώσει η rsync (κάτι το οποίο μπορεί να έχει ήδη γίνει) και τερματίζει τη διεργασία, εκτός και αν απέτυχε η rsync
wait && make

```

Δείτε επίσης
------------

* Κατάλογος βοηθημάτων του Unix
* Wait (κλήση συστήματος)

Εξωτερικοί σύνδεσμοι
--------------------

|  |  |
| --- | --- |
| wiktionary logowiktionary logo | Το *Βικιλεξικό* έχει σχετικό λήμμα:  **wait (unix)**  |

* Εγχειρίδιο αναφοράς του GNU bash (Αγγλικά)

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| π • σ • ε
Προγράμματα γραμμής εντολών και ενσωματωμένα του Unix και (άλλα) |
| --- |
|  |
| Σύστημα αρχείων | 
* cat
* cd
* chmod
* chown
* chgrp
* cksum
* cmp
* cp
* du
* df
* file
* fsck
* fuser
* ln
* ls
* lsattr
* lsof
* mkdir
* mount
* mv
* pwd
* rm
* rmdir
* split
* touch
 |
|  |
| Διεργασίες | 
* at
* bg
* chroot

cron
exit
fg
kill
killall
nice
pgrep
pidof
pkill
ps
pstree
sleep
time
top
wait
watch |
|  |
| Περιβάλλον χρήστη | 
* env
* finger
* id
* logname
* mesg
* passwd
* su
* sudo
* uname
* uptime
* w
* wall
* who
* whoami
* write
 |
|  |
| Επεξεργασία κειμένου | 
* awk
* comm
* cut
* ed
* ex
* fmt
* head
* iconv
* join
* less
* more
* paste
* sed
* sort
* tac
* tail
* tr
* uniq
* wc
* xargs
 |
|  |
| Προγραμματισμός Κελύφους | 
* .
* alias
* basename
* dirname
* echo
* expr
* false
* printf
* test
* true
* unset
 |
|  |
| Δικτύωση | 
* inetd
* netstat
* nslookup
* ping
* rlogin
* nc
* traceroute
 |
|  |
| Αναζήτηση | 
* find
* grep
* strings
 |
|  |
| Διάφορα | 
* apropos
* bc
* cal
* clear
* date
* dd
* lp
* man
* nl
* size
* tee
* yes
 |
|  |
| 
Κατηγορία **Κατηγορία** |

 |