Wait (comandă)

From Wikipedia, the free encyclopedia

Remove ads

Comanda UNIX wait așteaptă ca procesul specificat să fie terminat.

Sintaxă

wait 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.


Remove ads

Exemple

Comanda 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


Remove ads

Funcții de sistem

Î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


 v  d  m  Programe în linia de comandă pentru Unix (mai multe)
Gestionare 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
Gestionare de procese: at | chroot | cron | exit | kill | killall | nice | pgrep | pidof | pkill | ps | pstree | sleep | time | top | wait
Gestionare de 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
Remove ads
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads