wait (comandă)
Comanda UNIX wait așteaptă ca procesul specificat să fie terminat.
Sintaxă
modificarewait n
unde n este identificatorul procesului (pid) după care se așteaptă. Dacă n nu este specificat, comanda așteaptă ca toate procesele pornite din sesiunea shell curentă să fie terminate.
wait returnează valoarea cu care s-a terminat procesul sau 127 dacă procesul specificat nu a fost găsit.
În general, wait nu este implementat ca un program separat, preferându-se implementarea sub forma unei comenzi shell.
Exemple
modificareComanda wait se folosește adeseori ca parte a unui script care desfășoară în paralel mai multe activități care trebuie sincronizate.
#!/bin/bash # Un update parale de fișiere care folosește comanda wait # Copierea datelor rsync iona:src/ . & # Construirea și instalarea noilor biblioteci în paralel cu operația de copiere de mai sus; în caz de eroare se iese din script make -C lib || exit 1 # Se așteaptă să se termine rsync, după care se trece la ultima fază de update wait && make
Funcții de sistem
modificareÎn UNIX, wait este și numele unei familii de funcții de sistem:
#include <sys/types.h> #include <sys/wait.h> pid_t wait(int *status); pid_t waitpid(pid_t pid, int *status, int options); int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);
Toate aceste funcții sunt utilizate pentru a detecta schimbarea stării unui proces. wait() și waitpid() suspendă execuția procesului curent până când procesul child specificat este terminat. waitid() este similară, însă oferă mai mult control în specificarea procesului child.
Legături externe
modificare
linia de comandă pentru Unix (mai multe) | Programe în|||
Management de fișiere: | cat | cd | chmod | chown | chgrp | cksum | cmp | cp | du | df | file | fsck | ln | ls | lsof | mkdir | mount | mv | pwd | rm | rmdir | split | touch | ||
Management de procese: | at | chroot | cron | exit | kill | killall | nice | pgrep | pidof | pkill | ps | pstree | sleep | time | top | wait | ||
Management utilizator/mediu: | env | finger | id | mesg | passwd | su | sudo | uname | uptime | w | wall | who | whoami | write | ||
Procesare text: | awk | comm | cut | ed | ex | fmt | head | iconv | join | less | more | paste | sed | sort | tac | tail | tr | uniq | wc | xargs | ||
Programare Shell: | basename | echo | expr | false | printf | test | true | unset | Imprimare: lp | |
Communicații: inetd | netstat | ping | rlogin | traceroute |
Căutare: find | grep | strings |
Diverse: banner | bc | cal | dd | man | size | yes |