Rechercher une page de manuel

Chercher une autre page de manuel:

dup2

Autres langues

Langue: pl

Version: 1994-08-21 (ubuntu - 01/11/07)

Section: 2 (Appels système)

NAZWA

dup, dup2 - powielenie deskryptora pliku

SK£ADNIA

 #include <unistd.h>
 
 int dup(int oldfd);
 int dup2(int oldfd, int newfd);
 

OPIS

dup i dup2 tworz± kopiê deskryptora pliku oldfd.

Po pomy¶lnym zakoñczeniu dup lub dup2, stary i nowy deskryptor mog± byæ u¿ywane zamiennie. Wspó³dziel± one blokady, pozycjê pliku i znaczniki; na przyk³ad, je¶li pozycja pliku zmieni siê w wyniku u¿yciu lseek dla jednym z deskryptorów, zmieni siê ona tak¿e dla drugiego.

Te dwa deskryptory nie wspó³dziel± jednak znacznika close-on-exec.

dup u¿ywa dla nowego deskryptora nieu¿ywanego deskryptora o najni¿szym numerze.

dup2 powoduje, ¿e newfd staje siê kopi± oldfd, zamykaj±c najpierw newfd, je¶li jest to potrzebne.

WARTO¦Æ ZWRACANA

dup i dup2 zwracaj± nowy deskryptor, lub -1 po b³êdzie (w tym przypadku odpowiednio ustawiane jest errno).

B£ÊDY

EBADF
oldfd nie jest deskryptorem otwartego pliku, lub newfd jest poza dozwolonym dla deskryptorów plików zakresem.
EMFILE
Proces ju¿ osi±gn±³ maksymaln± liczbê otwartych deskryptorów plików, a próbowa³ otworzyæ nowy.

OSTRZE¯ENIE

B³±d zwracany przez dup2 jest inny ni¿ zwracany przez fcntl(..., F_DUPFD, ...), gdy newfd jest poza zakresem. W niektórych systemach dup2 zwraca te¿ czasem EINVAL jako F_DUPFD.

USTERKI

Je¶li newfd by³ otwarty, wszelkie b³êdy, które mog³yby zostaæ zg³oszone w chwili wykonania close() zostan± utracone. Ostro¿ny programista nie u¿yje dup2 bez wcze¶niejszego zamkniêcia newfd.

ZGODNE Z

SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 dokumentuje dodatkowe b³êdy EINTR i ENOLINK. POSIX.1 dodaje EINTR.

ZOBACZ TAK¯E

fcntl(2), open(2), close(2)
- Imprimer correctement des photos couleur, ca marche pas
chez moi comprends pas. Mais étant donné que j'ai une
vieille imprimante n&b ca vient peut-être de la ?
-+- EB in GFA : "Noâââr c'est noââr ! Il n'y a plus d'espoââr !" -+-