Rechercher une page de manuel
open
Langue: ru
Version: June 3, 1999 (openSuse - 09/10/07)
Section: 2 (Appels système)
Sommaire
îáú÷áîéå
open, creat -- ÏÔËÒÙÔØ É, ×ÅÒÏÑÔÎÏ, ÓÏÚÄÁÔØ ÆÁÊÌ ÉÌÉ ÕÓÔÒÏÊÓÔ×Ïëòáôëáñ ó÷ïäëá
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); int creat(const char *pathname, mode_t mode);
ïðéóáîéå
óÉÓÔÅÍÎÙÊ ×ÙÚÏ× open ÐÒÅ×ÒÁÝÁÅÔ ÉÍÑ ÆÁÊÌÁ × ÄÅÓËÒÉÐÔÏÒ ÆÁÊÌÁ (ÎÅÂÏÌØÛÏÅ ÎÅÏÔÒÉÃÁÔÅÌØÎÏÅ ÞÉÓÌÏ, ÉÓÐÏÌØÚÕÅÍÏÅ ÐÒÉ ÐÏÓÌÅÄÕÀÝÅÍ ××ÏÄÅ-×Ù×ÏÄÅ, ÎÁÐÒÉÍÅÒ, Ó read, write, É Ô. Ð. åÓÌÉ ÓÉÓÔÅÍÎÙÊ ×ÙÚÏ× ÚÁ×ÅÒÛÁÅÔÓÑ ÕÓÐÅÛÎÏ, ×ÏÚ×ÒÁÝÅÎÎÙÊ ÆÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ Ñ×ÌÑÅÔÓÑ ÓÁÍÙÍ ÍÁÌÅÎØËÉÍ ÄÅÓËÒÉÐÔÏÒÏÍ, ËÏÔÏÒÙÊ ÅÝÅ ÎÅ ÏÔËÒÙÔ ÐÒÏÃÅÓÓÏÍ. ÷ ÒÅÚÕÌØÔÁÔÅ ÜÔÏÇÏ ×ÙÚÏ×Á ÐÏÑ×ÌÑÅÔÓÑ ÎÏ×ÙÊ ÏÔËÒÙÔÙÊ ÆÁÊÌ, ÎÅ ÒÁÚÄÅÌÑÅÍÙÊ ÎÉ Ó ËÁËÉÍ ÐÒÏÃÅÓÓÏÍ (ÒÁÚÄÅÌÑÅÍÙÅ ÏÔËÒÙÔÙÅ ÆÁÊÌÙ ÍÏÇÕÔ ×ÏÚÎÉËÎÕÔØ × ÒÅÚÕÌØÔÁÔÅ ÓÉÓÔÅÍÎÏÇÏ ×ÙÚÏ×Á fork(2). îÏ×ÙÊ ÆÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ ÂÕÄÅÔ ÏÓÔÁ×ÁÔØÓÑ ÏÔËÒÙÔÙÍ ÐÒÉ ×ÙÐÏÌÎÅÎÉÉ ÆÕÎËÃÉÉ exec(2) (ÓÍÏÔÒÉ ÏÐÉÓÁÎÉÅ fcntl(2)). õËÁÚÁÔÅÌØ × ÆÁÊÌÅ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ × ÎÁÞÁÌÏ.ðÁÒÁÍÅÔÒ flags~-- ÜÔÏ O_RDONLY, O_WRONLY ÉÌÉ O_RDWR, ÚÁÄÁÀÝÉÅ, ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ, ÏÔËÒÙÔÉÅ ÆÁÊÌÁ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ, ÔÏÌØËÏ ÄÌÑ ÚÁÐÉÓÉ É ÄÌÑ ÞÔÅÎÉÑ É ÚÁÐÉÓÉ, ËÏÔÏÒÙÅ ÍÏÖÎÏ ËÏÍÂÉÎÉÒÏ×ÁÔØ Ó ÐÏÍÏÝØÀ ÌÏÇÉÞÅÓËÏÇÏ éìé Ó ÎÕÌÅÍ ÉÌÉ ÂÏÌÅÅ ÎÉÖÅÓÌÅÄÕÀÝÉÈ ÆÌÁÇÏ×:
- O_CREAT
- åÓÌÉ ÆÁÊÌ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, ÔÏ ÏÎ ÂÕÄÅÔ ÓÏÚÄÁÎ. ÷ÌÁÄÅÌÅà (uid) ÆÁÊÌÁ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ × ÆÁËÔÉÞÅÓËÉÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ×ÌÁÄÅÌØÃÁ ÐÒÏÃÅÓÓÁ. çÒÕÐÐÁ (gid) ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÌÉÂÏ × ÆÁËÔÉÞÅÓËÉÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÇÒÕÐÐÙ ÐÒÏÃÅÓÓÁ ÉÌÉ ÖÅ × ÉÄÅÎÔÉÆÉËÁÔÏÒ ÇÒÕÐÐÙ ÒÏÄÉÔÅÌØÓËÏÇÏ ËÁÔÁÌÏÇÁ (ÚÁ×ÉÓÉÔ ÏÔ ÔÉÐÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ É ÆÌÁÇÏ× ÐÒÏÇÒÁÍÍÙ mount, Á ÔÁËÖÅ ÐÒÁ× ÄÏÓÔÕÐÁ Ë ÒÏÄÉÔÅÌØÓËÏÍÕ ËÁÔÁÌÏÇÕ. óÍ., ÎÁÐÒÉÍÅÒ, ÆÌÁÇÉ bsdgroups É sysvgroups × ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ ext2, ËÏÔÏÒÙÅ ÏÐÉÓÁÎÙ × mount(8)).
- O_EXCL
- åÓÌÉ ÉÓÐÏÌØÚÕÅÔÓÑ ÓÏ×ÍÅÓÔÎÏ Ó O_CREAT, ÔÏ ÅÓÌÉ ÆÁÊÌ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ, ÔÏ open ÚÁ×ÅÒÛÉÔÓÑ Ó ÏÛÉÂËÏÊ. ÷ ÜÔÏÍ ËÏÎÔÅËÓÔÅ ÓÉÍ×ÏÌØÎÁÑ ÓÓÙÌËÁ ÓÕÝÅÓÔ×ÕÅÔ, ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÔÏÇÏ, ËÕÄÁ ÏÎÁ ÕËÁÚÙ×ÁÅÔ. O_EXCL ÎÅ ÒÁÂÏÔÁÅÔ ÎÁ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍÁÈ NFS, Á × ÐÒÏÇÒÁÍÍÁÈ, ÐÏÌÁÇÁÀÝÉÈÓÑ ÎÁ ÜÔÏÔ ÆÌÁÇ ÄÌÑ ÒÅÁÌÉÚÁÃÉÉ ÂÌÏËÉÒÏ×ËÉ, ×ÏÚÎÉËÎÅÔ race condition. òÅÛÅÎÉÅ ÄÌÑ ÁÔÏÍÁÒÎÏÊ ÂÌÏËÉÒÏ×ËÉ Ó ÐÏÍÏÝØÀ ÆÁÊÌÁ: ÓÏÚÄÁÔØ ÆÁÊÌ Ó ÕÎÉËÁÌØÎÙÍ ÉÍÅÎÅÍ ÎÁ ÔÏÊ ÖÅ ÓÁÍÏÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ (ÜÔÏ ÉÍÑ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ, ÎÁÐÒÉÍÅÒ, ÉÍÑ ÍÁÛÉÎÙ É ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÒÏÃÅÓÓÁ), ÉÓÐÏÌØÚÏ×ÁÔØ link(2), ÞÔÏÂÙ ÓÏÚÄÁÔØ ÓÓÙÌËÕ ÎÁ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ. åÓÌÉ link() ×ÏÚ×ÒÁÝÁÅÔ 0, ÚÎÁÞÉÔ, ÂÌÏËÉÒÏ×ËÁ ÂÙÌÁ ÕÓÐÅÛÎÏÊ. ÷ ÐÒÏÔÉ×ÎÏÍ ÓÌÕÞÁÅ ÉÓÐÏÌØÚÕÊÔÅ stat(2), ÞÔÏÂÙ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ËÏÌÉÞÅÓÔ×Ï ÓÓÙÌÏË ÎÁ ÕÎÉËÁÌØÎÙÊ ÆÁÊÌ ×ÏÚÒÏÓÌÏ ÄÏ Ä×ÕÈ, ÞÔÏ ÏÐÑÔØ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÂÌÏËÉÒÏ×ËÁ ÂÙÌÁ ÕÓÐÅÛÎÏÊ.
- O_NOCTTY
- åÓÌÉ pathname ÓÓÙÌÁÅÔÓÑ ÎÁ ÔÅÒÍÉÎÁÌØÎÏÅ ÕÓÔÒÏÊÓÔ×Ï --- ÓÍ. tty(4), --- ÔÏ ÏÎÏ ÎÅ ÓÔÁÎÅÔ ËÏÎÔÒÏÌÉÒÕÀÝÉÍ ÔÅÒÍÉÎÁÌÏÍ ÐÒÏÃÅÓÓÁ, ÄÁÖÅ ÅÓÌÉ Õ ÜÔÏÇÏ ÐÒÏÃÅÓÓÁ ÎÅÔ ÔÁËÏ×ÏÇÏ.
- O_TRUNC
- åÓÌÉ ÆÁÊÌ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ, Ñ×ÌÑÅÔÓÑ ÏÂÙÞÎÙÍ ÆÁÊÌÏÍ, Á ÒÅÖÉÍ ÏÔËÒÙÔÉÑ ÐÏÚ×ÏÌÑÅÔ ÚÁÐÉÓØ (ÔÏ ÂÉÛØ ÜÔÏ O_RDWR ÉÌÉ O_WRONLY), ÔÏ ÏÎ ÂÕÄÅÔ ÏÂÒÅÚÁÎ ÄÏ ÎÕÌÅ×ÏÊ ÄÌÉÎÙ. åÓÌÉ ÆÁÊÌ Ñ×ÌÑÅÔÓÑ FIFO ÉÌÉ ÕÓÔÒÏÊÓÔ×ÏÍ ÔÅÒÍÉÎÁÌÁ, ÔÏ ÆÌÁÇ O_TRUNC ÉÇÎÏÒÉÒÕÅÔÓÑ. ÷ ÐÒÏÔÉ×ÎÏÍ ÓÌÕÞÁÅ ÄÅÊÓÔ×ÉÅ O_TRUNC ÎÅ ÏÐÉÓÁÎÏ. (îÁ ÍÎÏÇÉÈ ×ÅÒÓÉÑÈ Linux ÜÔÏÔ ÆÌÁÇ ÂÕÄÅÔ ÉÇÎÏÒÉÒÏ×ÁÎ; ÎÁ ÄÒÕÇÉÈ ×ÅÒÓÉÑÈ ÂÕÄÅÔ ×ÏÚ×ÒÁÝÅÎÁ ÏÛÉÂËÁ.)
- O_APPEND
- æÁÊÌ ÏÔËÒÙ×ÁÅÔÓÑ × ÒÅÖÉÍÅ ÄÏÂÁ×ÌÅÎÉÑ. ðÅÒÅÄ ËÁÖÄÙÍ write, ÆÁÊÌÏ×ÙÊ ÕËÁÚÁÔÅÌØ ÐÅÒÅÍÅÝÁÅÔÓÑ × ËÏÎÅà ÆÁÊÌÁ, ËÁË ÅÓÌÉ ÂÙ ÉÓÐÏÌØÚÏ×ÁÌÓÑ lseek. O_APPEND ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÐÏ×ÒÅÖÄÅÎÉÀ ÆÁÊÌÏ× ÎÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ NFS, ÅÓÌÉ ÎÅÓËÏÌØËÏ ÐÒÏÃÅÓÓÏ× ÏÄÎÏ×ÒÅÍÅÎÎÏ ÄÏÂÁ×ÌÑÀÔ ÄÁÎÎÙÅ × ÏÄÉÎ ÆÁÊÌ. üÔÏ ÐÒÏÉÓÈÏÄÉÔ ÉÚ-ÚÁ ÔÏÇÏ, ÞÔÏ NFS ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÏÂÁ×ÌÅÎÉÅ × ÆÁÊÌ, ÐÏÜÔÏÍÕ ÑÄÒÏ ÎÁ ÍÁÛÉÎÅ-ËÌÉÅÎÔÅ ÄÏÌÖÎÏ ÜÍÕÌÉÒÏ×ÁÔØ ÜÔÕ ÐÏÄÄÅÒÖËÕ, ÞÔÏ ÎÅ ÍÏÖÅÔ ÂÙÔØ ×ÙÐÏÌÎÅÎÏ ÂÅÚ race condition.
- O_NONBLOCK ÉÌÉ O_NDELAY
- åÓÌÉ ×ÏÚÍÏÖÎÏ, ÔÏ ÆÁÊÌ ÏÔËÒÙ×ÁÅÔÓÑ × ÎÅÂÌÏËÉÒÕÀÝÅÍ ÒÅÖÉÍÅ. îÉ open, ÎÉ ÄÒÕÇÉÅ ÐÏÓÌÅÄÕÀÝÉÅ ÏÐÅÒÁÃÉÉ ÎÁÄ ×ÏÚ×ÒÁÝÅÎÎÙÍ ÄÅÓËÒÉÐÔÏÒÏÍ ÆÁÊÌÁ ÎÅ ÚÁÓÔÁ×ÑÔ ×ÙÚÙ×ÁÀÝÉÊ ÐÒÏÃÅÓÓ ÖÄÁÔØ. òÁÂÏÔÁ Ó ËÁÎÁÌÁÍÉ FIFO ÔÁËÖÅ ÏÐÉÓÁÎÁ × fifo(4). üÔÏÔ ÒÅÖÉÍ ÎÅ ÏÂÑÚÁÎ ËÁË-ÌÉÂÏ ÄÅÊÓÔ×Ï×ÁÔØ ÎÁ ÆÁÊÌÙ, ÎÅ Ñ×ÌÑÀÝÉÅÓÑ FIFO.
- O_SYNC
- æÁÊÌ ÏÔËÒÙ×ÁÅÔÓÑ × ÒÅÖÉÍÅ ÓÉÎÈÒÏÎÎÏÇÏ ××ÏÄÁ-×Ù×ÏÄÁ. ÷ÓÅ ×ÙÚÏ×Ù write ÄÌÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ ÄÅÓËÒÉÐÔÏÒÁ ÆÁÊÌÁ ÂÌÏËÉÒÕÀÔ ×ÙÚÙ×ÁÀÝÉÊ ÐÒÏÃÅÓÓ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÄÁÎÎÙÅ ÎÅ ÂÕÄÕÔ ÆÉÚÉÞÅÓËÉ ÚÁÐÉÓÁÎÙ ÏÂÏÒÕÄÏ×ÁÎÉÅÍ, ÎÁ ËÏÔÏÒÏÍ ÎÁÈÏÄÉÔÓÑ ÆÁÊÌ. ïÄÎÁËÏ ÖÅ, ÓÍÏÔÒÉ × ÒÁÚÄÅÌÅ ïçòáîéþåîéñ.
- O_NOFOLLOW
- åÓÌÉ pathname -- ÜÔÏ ÓÉÍ×ÏÌÉÞÅÓËÁÑ ÓÓÙÌËÁ, ÔÏ open ÚÁ×ÅÒÛÁÅÔÓÑ Ó ËÏÄÏÍ ÏÛÉÂËÉ. üÔÏ ÒÁÓÛÉÒÅÎÉÅ ÉÚ FreeBSD, ËÏÔÏÒÏÅ ÂÙÌÏ ÄÏÂÁ×ÌÅÎÏ × Linux × ×ÅÒÓÉÉ 2.1.126. ÷ÓÅ ÐÒÏÞÉÅ ÓÉÍ×ÏÌÉÞÅÓËÉÅ ÓÓÙÌËÉ × ÉÍÅÎÉ ÂÕÄÕÔ ÏÂÒÁÂÏÔÁÎÙ ËÁË ÏÂÙÞÎÏ. úÁÇÏÌÏ×ÏÞÎÙÅ ÆÁÊÌÙ ÉÚ glibc 2.0.100 É ÐÏÚÖÅ ÓÏÄÅÒÖÁÔ ÏÐÒÅÄÅÌÅÎÉÅ ÜÔÏÇÏ ÆÌÁÇÁ; ÑÄÒÁ Ó ×ÅÒÓÉÑÍÉ ÍÅÎØÛÅ, ÞÅÍ 2.1.126, ÉÇÎÏÒÉÒÕÀÔ ÜÔÏÔ ÆÌÁÇ.
- O_DIRECTORY
- åÓÌÉ pathname ÎÅ Ñ×ÌÑÅÔÓÑ ËÁÔÁÌÏÇÏÍ, ÔÏ open ÚÁ×ÅÒÛÉÔÓÑ Ó ËÏÄÏÍ ÏÛÉÂËÉ. üÔÏÔ ÆÌÁÇ ÉÓÐÏÌØÚÕÅÔÓÑ ÔÏÌØËÏ × Linux, É ÂÙÌ ÄÏÂÁ×ÌÅÎ × ÑÄÒÅ 2.1.126, ÞÔÏÂÙ ÉÚÂÅÖÁÔØ ÐÒÏÂÌÅÍ Ó ÁÔÁËÁÍÉ ÔÉÐÁ "ÏÔËÁÚ ÏÂÓÌÕÖÉ×ÁÎÉÑ", ÅÓÌÉ opendir(2) ÂÙÌ ×ÙÚ×ÁÎ Ó ËÁÎÁÌÏÍ FIFO ÉÌÉ ÌÅÎÔÏÞÎÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ. üÔÏÔ ÆÌÁÇ ÎÅ ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÅ ÒÅÁÌÉÚÁÃÉÉ opendir.
- O_LARGEFILE
- îÁ 32-ÂÉÔÎÙÈ ÓÉÓÔÅÍÁÈ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ âÏÌØÛÉÅ æÁÊÌÏ×ÙÅ óÉÓÔÅÍÙ, ÜÔÏÔ ÆÌÁÇ ÐÏÚ×ÏÌÑÅÔ ÏÔËÒÙ×ÁÔØ ÆÁÊÌÙ, ÄÌÉÎÁ ËÏÔÏÒÙÈ ÎÅ ÐÏÍÅÝÁÅÔÓÑ × 31 ÂÉÔ.
îÅËÏÔÏÒÙÅ ÉÚ ×ÙÛÅÏÐÉÓÁÎÎÙÈ ÆÌÁÇÏ× ÍÏÇÕÔ ÂÙÔØ ÉÚÍÅÎÅÎÙ ÐÏÓÌÅ ÏÔËÒÙÔÉÑ ÆÁÊÌÁ Ó ÐÏÍÏÝØÀ fctnl.
áÒÇÕÍÅÎÔ mode ÚÁÄÁÅÔ ÐÒÁ×Á ÄÏÓÔÕÐÁ, ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÀÔÓÑ × ÓÌÕÞÁÅ ÓÏÚÄÁÎÉÑ ÎÏ×ÏÇÏ ÆÁÊÌÁ. ïÎÉ ÍÏÄÉÆÉÃÉÒÕÀÔÓÑ ÏÂÙÞÎÙÍ ÓÐÏÓÏÂÏÍ, ÉÓÐÏÌØÚÕÑ umask ÐÒÏÃÅÓÓÁ: ÐÒÁ×Á ÄÏÓÔÕÐÁ Ó×ÅÖÅÓÏÚÄÁÎÎÏÇÏ ÆÁÊÌÁ ÒÁ×ÎÙ (mode & ~umask). úÁÍÅÔØÔÅ, ÞÔÏ ÜÔÏÔ ÒÅÖÉÍ ÄÏÓÔÕÐÁ ÏÔÎÏÓÉÔÓÑ ÔÏÌØËÏ Ë ÐÏÓÌÅÄÕÀÝÉÍ ÏÂÒÁÝÅÎÉÑÍ Ë Ó×ÅÖÅÓÏÚÄÁÎÎÏÍÕ ÆÁÊÌÕ; ÓÉÓÔÅÍÎÙÊ ×ÙÚÏ× open, ËÏÔÏÒÙÊ ÓÏÚÄÁÅÔ ÎÏ×ÙÊ ÆÁÊÌ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ, ×ÐÏÌÎÅ ÍÏÖÅÔ ×ÅÒÎÕÔØ ÆÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ ÄÌÑ ÞÔÅÎÉÑ/ÚÁÐÉÓÉ.
îÉÖÅÓÌÅÄÕÀÝÉÅ ÓÉÍ×ÏÌÉÞÅÓËÉÅ ËÏÎÓÔÁÎÔÙ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ × mode:
- S_IRWXU
- 00700 ÐÏÌØÚÏ×ÁÔÅÌØ (×ÌÁÄÅÌÅà ÆÁÊÌÁ) ÉÍÅÅÔ ÐÒÁ×Á ÞÔÅÎÉÑ, ÚÁÐÉÓÉ É ×ÙÐÏÌÎÅÎÉÑ.
- S_IRUSR (S_IREAD)
- 00400 ÐÏÌØÚÏ×ÁÔÅÌØ ÉÍÅÅÔ ÐÒÁ×Ï ÞÔÅÎÉÑ
- S_IWUSR (S_IWRITE)
- 00200 ÐÏÌØÚÏ×ÁÔÅÌØ ÉÍÅÅÔ ÐÒÁ×Ï ÚÁÐÉÓÉ
- S_IXUSR (S_IEXEC)
- 00100 ÐÏÌØÚÏ×ÁÔÅÌØ ÉÍÅÅÔ ÐÒÁ×Ï ×ÙÐÏÌÎÅÎÉÑ
- S_IRWXG
- 00070 ÇÒÕÐÐÁ ÉÍÅÅÔ ÐÒÁ×Á ÞÔÅÎÉÑ, ÚÁÐÉÓÉ É ×ÙÐÏÌÎÅÎÉÑ
- S_IRGRP
- 00040 ÇÒÕÐÐÁ ÉÍÅÅÔ ÐÒÁ×Ï ÞÔÅÎÉÑ
- S_IWGRP
- 00020 ÇÒÕÐÐÁ ÉÍÅÅÔ ÐÒÁ×Ï ÚÁÐÉÓÉ
- S_IXGRP
- 00010 ÇÒÕÐÐÁ ÉÍÅÅÔ ÐÒÁ×Ï ×ÙÐÏÌÎÅÎÉÑ
- S_IRWXO
- 00007 ×ÓÅ ÏÓÔÁÌØÎÙÅ ÉÍÅÀÔ ÐÒÁ×Á ÞÔÅÎÉÑ, ÚÁÐÉÓÉ É ×ÙÐÏÌÎÅÎÉÑ
- S_IROTH
- 00004 ×ÓÅ ÏÓÔÁÌØÎÙÅ ÉÍÅÀÔ ÐÒÁ×Ï ÞÔÅÎÉÑ
- S_IWOTH
- 00002 ×ÓÅ ÏÓÔÁÌØÎÙÅ ÉÍÅÀÔ ÐÒÁ×Ï ÚÁÐÉÓÉ
- S_IXOTH
- 00001 ×ÓÅ ÏÓÔÁÌØÎÙÅ ÉÍÅÀÔ ÐÒÁ×Ï ×ÙÐÏÌÎÅÎÉÑ
mode ×ÓÅÇÄÁ ÄÏÌÖÅÎ ÂÙÔØ ÕËÁÚÁÎ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ O_CREAT, ×Ï ×ÓÅÈ ÏÓÔÁÌØÎÙÈ ÓÌÕÞÁÑÈ ÜÔÏÔ ÐÁÒÁÍÅÔÒ ÉÇÎÏÒÉÒÕÅÔÓÑ.
creat ÜË×É×ÁÌÅÎÔÅÎ open Ó flags, ÒÁ×ÎÙÍÉ O_CREAT | O_WRONLY | O_TRUNC.
÷ïú÷òáýáåíïå úîáþåîéå
open É creat ×ÏÚ×ÒÁÝÁÀÔ ÎÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ ÆÁÊÌÁ, ÉÌÉ -1, ÅÓÌÉ ÐÒÏÉÚÏÛÌÁ ÏÛÉÂËÁ (× ÜÔÏÍ ÓÌÕÞÁÅ errno ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÄÏÌÖÎÙÍ ÏÂÒÁÚÏÍ). úÁÍÅÔØÔÅ, ÞÔÏ open ÍÏÖÅÔ ÏÔËÒÙ×ÁÔØ ÆÁÊÌÙ ÕÓÔÒÏÊÓÔ×, ÎÏ creat ÎÅ ÍÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÉÈ -- ÉÓÐÏÌØÚÕÊÔÅ ÄÌÑ ÜÔÏÇÏ mknod(2).îÁ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍÁÈ NFS Ó ×ËÌÀÞÅÎÎÙÍ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅÍ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ open ÍÏÖÅÔ ×ÅÒÎÕÔØ ÆÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ, ÎÏ, ÎÁÐÒÉÍÅÒ, read(2) ×ÅÒÎÅÔ ÏÛÉÂËÕ EACCES. üÔÏ ÉÚ-ÚÁ ÔÏÇÏ, ÞÔÏ ËÌÉÅÎÔ ×ÙÐÏÌÎÑÅÔ open, ÐÒÏ×ÅÒÑÑ ÐÒÁ×Á ÄÏÓÔÕÐÁ, ÎÏ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÒÏÉÚ×ÏÄÉÔÓÑ ÓÅÒ×ÅÒÏÍ ÐÒÉ ÚÁÐÒÏÓÁÈ ÎÁ ÞÔÅÎÉÅ É ÚÁÐÉÓØ.
åÓÌÉ ÆÁÊÌ ÔÏÌØËÏ ÞÔÏ ÓÏÚÄÁÎ, ÅÇÏ atime, ctime É mtime, Á ÔÁËÖÅ ctime É mtime ÒÏÄÉÔÅÌØÓËÏÇÏ ËÁÔÁÌÏÇÁ, ÕÓÔÁÎÏ×ÌÅÎÙ × ÔÅËÕÝÅÅ ×ÒÅÍÑ, ÷ ÐÒÏÔÉ×ÎÏÍ ÓÌÕÞÁÅ ÅÓÌÉ ÆÁÊÌ ÍÏÄÉÆÉÃÉÒÏ×ÁÎ ÉÚ-ÚÁ ÆÌÁÇÁ O_TRUNC, ÅÇÏ ÐÏÌÑ ctime É mtime ÕÓÔÁÎÁ×ÌÉ×ÁÀÔÓÑ × ÔÅËÕÝÅÅ ×ÒÅÍÑ.
ïûéâëé
- EEXIST
- pathname ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ, É ÂÙÌÉ ÉÓÐÏÌØÚÏ×ÁÎÙ O_CREAT É O_EXCL.
- EISDIR
- pathname ÓÓÙÌÁÅÔÓÑ ÎÁ ËÁÔÁÌÏÇ, Á ÔÉÐ ÄÏÓÔÕÐÁ ÐÏÄÒÁÚÕÍÅ×ÁÅÔ ÚÁÐÉÓØ.
- EACCES
- úÁÐÒÏÛÅÎÎÙÊ ÄÏÓÔÕÐ Ë ÆÁÊÌÕ ÎÅ ÒÁÚÒÅÛÅÎ, ÉÌÉ ÖÅ ÏÄÉÎ ÉÚ ËÁÔÁÌÏÇÏ× × pathname ÎÅ ÐÏÚ×ÏÌÑÅÔ ÐÏÉÓË (×ÙÐÏÌÎÅÎÉÅ), ÉÌÉ ÖÅ ÆÁÊÌ ÅÝÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, Á ÄÏÓÔÕÐ ÄÌÑ ÚÁÐÉÓÉ × ÒÏÄÉÔÅÌØÓËÉÊ ËÁÔÁÌÏÇ ÎÅ ÒÁÚÒÅÛÅÎ. error_ENAMETOOLONG(pathname) error_ENOENT(pathname)
- ENOTDIR
- ëÏÍÐÏÎÅÎÔ, ÉÓÐÏÌØÚÏ×ÁÎÎÙÊ ËÁË ËÁÔÁÌÏÇ × pathname, ÔÁËÏ×ÙÍ ÎÅ Ñ×ÌÑÅÔÓÑ, ÉÌÉ ÂÙÌ ÕËÁÚÁÎ ÆÌÁÇ O_DIRECTORY, Á pathname ÎÅ Ñ×ÌÑÅÔÓÑ ËÁÔÁÌÏÇÏÍ.
- ENXIO
- õÓÔÁÎÏ×ÌÅÎÙ O_NONBLOCK | O_WRONLY, ÆÁÊÌ Ñ×ÌÑÅÔÓÑ ËÁÎÁÌÏÍ FIFO, ÎÏ ÎÅÔ ÐÒÏÃÅÓÓÏ×, ËÏÔÏÒÙÅ ÏÔËÒÙÌÉ ÜÔÏÔ ËÁÎÁÌ ÄÌÑ ÞÔÅÎÉÑ. ÷ÏÚÍÏÖÎÏ ÔÁËÖÅ, ÞÔÏ ÆÁÊÌ Ñ×ÌÑÅÔÓÑ ÆÁÊÌÏÍ ÕÓÔÒÏÊÓÔ×Á, ÎÏ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÅ ÕÓÔÒÏÊÓÔ×Ï ÎÅ ÕÓÔÁÎÏ×ÌÅÎÏ.
- ENODEV
- pathname ÓÓÙÌÁÅÔÓÑ ÎÁ ÆÁÊÌ ÕÓÔÒÏÊÓÔ×Á, ÎÏ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ ÕÓÔÒÏÊÓÔ×Á ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. (üÔÏ ÏÛÉÂËÁ × ÑÄÒÅ Linux: ÄÏÌÖÅÎ ×ÏÚ×ÒÁÝÁÔØÓÑ ENXIO.)
- EROFS
- pathname ÓÓÙÌÁÅÔÓÑ ÎÁ ÆÁÊÌ, ÎÁÈÏÄÑÝÉÊÓÑ ÎÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ, ÓÍÏÎÔÉÒÏ×ÁÎÎÏÊ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ, É ÂÙÌ ÚÁÐÒÏÛÅÎ ÄÏÓÔÕÐ ÄÌÑ ÚÁÐÉÓÉ.
- ETXTBSY
- pathname ÓÓÙÌÁÅÔÓÑ ÎÁ ÉÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ, ËÏÔÏÒÙÊ × ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ ÉÓÐÏÌÎÑÅÔÓÑ, É ÂÙÌ ÚÁÐÒÏÛÅÎ ÄÏÓÔÕÐ ÄÌÑ ÚÁÐÉÓÉ. error_EFAULT(pathname)
- ELOOP
- óÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÉÞÅÓËÉÈ ÓÓÙÌÏË ÂÙÌÏ ÐÒÏÊÄÅÎÏ ÐÒÉ ÏÂÎÁÒÕÖÅÎÉÉ pathname, ÉÌÉ ÂÙÌ ÕËÁÚÁÎ ÆÌÁÇ O_NOFOLLOW, Á pathname Ñ×ÌÑÅÔÓÑ ÓÉÍ×ÏÌÉÞÅÓËÏÊ ÓÓÙÌËÏÊ.
- ENOSPC
- pathname ÎÕÖÎÏ ÂÙÌÏ ÓÏÚÄÁÔØ ÎÁ ÕÓÔÒÏÊÓÔ×Å, ÎÁ ËÏÔÏÒÏÍ ÎÅ ÂÙÌÏ ÍÅÓÔÁ ÄÌÑ ÎÏ×ÏÇÏ ÆÁÊÌÁ. error_ENOMEM
- EMFILE
- ðÒÏÃÅÓÓ ÕÖÅ ÏÔËÒÙÌ ÍÁËÓÉÍÁÌØÎÏ ÄÏÐÕÓÔÉÍÏÅ ËÏÌÉÞÅÓÔ×Ï ÆÁÊÌÏ×.
- ENFILE
- äÏÓÔÉÇÎÕÔ ÐÒÅÄÅÌ ÎÁ ÍÁËÓÉÍÁÌØÎÏÅ ÏÂÝÅÅ ËÏÌÉÞÅÓÔ×Ï ÆÁÊÌÏ×, ÏÔËÒÙÔÙÈ × ÓÉÓÔÅÍÅ.
óïïô÷åôóô÷éå óôáîäáòôáí
SVr4, SVID, POSIX, X/OPEN, BSD 4.3 æÌÁÇÉ O_NOFOLLOW É O_DIRECTORY ÓÐÅÃÉÆÉÞÎÙ ÄÌÑ Linux. äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÐÏÌÕÞÉÔØ ÉÈ ÏÐÒÅÄÅÌÅÎÉÅ, ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ ÏÐÒÅÄÅÌÉÔØ (ÞÅÒÅÚ #define) ÓÉÍ×ÏÌ _GNU_SOURCE.ïçòáîéþåîéñ
÷ ÐÒÏÔÏËÏÌÅ, ÎÁ ËÏÔÏÒÏÍ ÒÁÂÏÔÁÅÔ NFS, ÓÕÝÅÓÔ×ÕÅÔ ÍÎÏÖÅÓÔ×Ï ÎÅÄÏÒÁÂÏÔÏË, × ÞÉÓÌÅ ÐÒÏÞÅÇÏ, ÏËÁÚÙ×ÁÀÝÉÈ ×ÌÉÑÎÉÅ ÎÁ O_SYNC É O_NDELAY.POSIX ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÔÒÉ ÒÁÚÎÙÈ ×ÁÒÉÁÎÔÁ ÓÉÎÈÒÏÎÎÏÇÏ ××ÏÄÁ-×Ù×ÏÄÁ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ ÆÌÁÇÁÍ O_SYNC, O_DSYNC É O_RSYNC. ÷ ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ (×ÅÒÓÉÑ 2.1.130), ×ÓÅ ÏÎÉ Ñ×ÌÑÀÔÓÑ ÓÉÎÏÎÉÍÁÍÉ ÐÏÄ Linux.
óíïôòé ôáëöå
read(2), write(2), fcntl(2), close(2), link(2), mknod(2), mount(2), stat(2), umask(2), unlink(2), socket(2), fopen(3), fifo(4)ðåòå÷ïä
Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999-2001Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre