OSDN Git Service

Import translated manuals from JM CVS Repository.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man2 / open.2
1 .\" Hey Emacs! This file is -*- nroff -*- source.
2 .\"
3 .\" This manpage is Copyright (C) 1992 Drew Eckhardt;
4 .\"                               1993 Michael Haardt, Ian Jackson.
5 .\"                               2008 Greg Banks
6 .\"
7 .\" Permission is granted to make and distribute verbatim copies of this
8 .\" manual provided the copyright notice and this permission notice are
9 .\" preserved on all copies.
10 .\"
11 .\" Permission is granted to copy and distribute modified versions of this
12 .\" manual under the conditions for verbatim copying, provided that the
13 .\" entire resulting derived work is distributed under the terms of a
14 .\" permission notice identical to this one.
15 .\"
16 .\" Since the Linux kernel and libraries are constantly changing, this
17 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
18 .\" responsibility for errors or omissions, or for damages resulting from
19 .\" the use of the information contained herein.  The author(s) may not
20 .\" have taken the same level of care in the production of this manual,
21 .\" which is licensed free of charge, as they might when working
22 .\" professionally.
23 .\"
24 .\" Formatted or processed versions of this manual, if unaccompanied by
25 .\" the source, must acknowledge the copyright and authors of this work.
26 .\"
27 .\" Modified 1993-07-21 by Rik Faith <faith@cs.unc.edu>
28 .\" Modified 1994-08-21 by Michael Haardt
29 .\" Modified 1996-04-13 by Andries Brouwer <aeb@cwi.nl>
30 .\" Modified 1996-05-13 by Thomas Koenig
31 .\" Modified 1996-12-20 by Michael Haardt
32 .\" Modified 1999-02-19 by Andries Brouwer <aeb@cwi.nl>
33 .\" Modified 1998-11-28 by Joseph S. Myers <jsm28@hermes.cam.ac.uk>
34 .\" Modified 1999-06-03 by Michael Haardt
35 .\" Modified 2002-05-07 by Michael Kerrisk <mtk.manpages@gmail.com>
36 .\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
37 .\" 2004-12-08, mtk, reordered flags list alphabetically
38 .\" 2004-12-08, Martin Pool <mbp@sourcefrog.net> (& mtk), added O_NOATIME
39 .\" 2007-09-18, mtk, Added description of O_CLOEXEC + other minor edits
40 .\" 2008-01-03, mtk, with input from Trond Myklebust
41 .\"     <trond.myklebust@fys.uio.no> and Timo Sirainen <tss@iki.fi>
42 .\"     Rewrite description of O_EXCL.
43 .\" 2008-01-11, Greg Banks <gnb@melbourne.sgi.com>: add more detail
44 .\"     on O_DIRECT.
45 .\" 2008-02-26, Michael Haardt: Reorganized text for O_CREAT and mode
46 .\"
47 .\" FIXME . Apr 08: The next POSIX revision has O_EXEC, O_SEARCH, and
48 .\" O_TTYINIT.  Eventually these may need to be documented.  --mtk
49 .\" FIXME Linux 2.6.33 has O_DSYNC, and a hiddden __O_SYNC.
50 .\"
51 .\" Japanese Version Copyright (c) 1997-1999 HANATAKA Shinya
52 .\"         all rights reserved.
53 .\" Translated 1999-08-14, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
54 .\" Updated 2001-05-25, Yuichi SATO <ysato444@yahoo.co.jp>
55 .\" Updated & Modified 2002-01-02, Yuichi SATO
56 .\" Updated & Modified 2002-07-07, Yuichi SATO
57 .\" Updated & Modified 2002-09-19, Yuichi SATO
58 .\" Updated & Modified 2003-07-30, Yuichi SATO
59 .\" Updated & Modified 2003-11-27, Yuichi SATO
60 .\" Updated & Modified 2005-01-01, Yuichi SATO
61 .\" Updated & Modified 2005-09-14, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
62 .\" Updated & Modified 2005-10-14, Akihiro MOTOKI
63 .\" Updated & Modified 2006-01-18, Akihiro MOTOKI
64 .\" Updated & Modified 2006-04-15, Akihiro MOTOKI, LDP v2.29
65 .\" Updated 2007-01-07, Akihiro MOTOKI, LDP v2.43
66 .\" Updated 2007-05-01, Akihiro MOTOKI, LDP v2.46
67 .\" Updated 2007-10-12, Akihiro MOTOKI, LDP v2.66
68 .\" Updated 2008-02-12, Akihiro MOTOKI, LDP v2.77
69 .\" Updated 2008-04-04, Akihiro MOTOKI, LDP v2.79
70 .\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
71 .\" Updated 2010-04-23, Akihiro MOTOKI, LDP v3.24
72 .\"
73 .\"WORD:        descriptor              ¥Ç¥£¥¹¥¯¥ê¥×¥¿
74 .\"WORD:        file description        ¥Õ¥¡¥¤¥ëµ­½Ò
75 .\"WORD:        open                    ¥ª¡¼¥×¥ó
76 .\"WORD:        create                  ºîÀ®
77 .\"WORD:        file offset             ¥Õ¥¡¥¤¥ë¡¦¥ª¥Õ¥»¥Ã¥È
78 .\"WORD:        controling terminal     À©¸æüËö
79 .\"WORD:        non-blocking I/O        ÈóÄä»ß I/O
80 .\"WORD:        synchronous I/O         Æ±´ü I/O
81 .\"WORD:        permission              µö²Ä
82 .\"WORD:        user                    ¥æ¡¼¥¶¡¼
83 .\"WORD:        owner                   ½êÍ­¼Ô
84 .\"WORD:        group                   ¥°¥ë¡¼¥×
85 .\"WORD:        other                   Â¾¿Í
86 .\"WORD:        kernel                  ¥«¡¼¥Í¥ë
87 .\"WORD:        symbolic link           ¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯
88 .\"WORD:        dangling symbolic link  ²õ¤ì¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯
89 .\"WORD:        file creation flag      ¥Õ¥¡¥¤¥ëºîÀ®¥Õ¥é¥°
90 .\"WORD:        file status flag        ¥Õ¥¡¥¤¥ë¾õÂ֥ե饰
91 .\"
92 .TH OPEN 2 2009-09-20 "Linux" "Linux Programmer's Manual"
93 .SH Ì¾Á°
94 open, creat \- ¥Õ¥¡¥¤¥ë¤ä¥Ç¥Ð¥¤¥¹¤Î¥ª¡¼¥×¥ó¡¢ºîÀ®¤ò¹Ô¤¦
95 .SH ½ñ¼°
96 .nf
97 .B #include <sys/types.h>
98 .B #include <sys/stat.h>
99 .B #include <fcntl.h>
100 .sp
101 .BI "int open(const char *" pathname ", int " flags );
102 .BI "int open(const char *" pathname ", int " flags ", mode_t " mode );
103
104 .BI "int creat(const char *" pathname ", mode_t " mode );
105 .fi
106 .SH ÀâÌÀ
107 ¥Õ¥¡¥¤¥ë¤Î
108 .I pathname
109 ¤òÍ¿¤¨¤ë¤È¡¢
110 .BR open ()
111 ¤Ï¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¡£
112 ¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï¡¢¤³¤Î¸å¤Ë³¤¯¥·¥¹¥Æ¥à¥³¡¼¥ë
113 .RB ( read "(2), " write "(2), " lseek "(2), " fcntl "(2) ¤Ê¤É)"
114 ¤Ç»ÈÍѤµ¤ì¤ë¾®¤µ¤ÊÈóÉé¤ÎÀ°¿ô¤Ç¤¢¤ë¡£
115 ¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬À®¸ù¤·¤¿¾ì¹ç¤ËÊÖ¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï
116 ¤½¤Î¥×¥í¥»¥¹¤¬¤½¤Î»þÅÀ¤Ç¥ª¡¼¥×¥ó¤·¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Î
117 ¤¦¤ÁºÇ¾®¤Î¿ô»ú¤Î¤â¤Î¤È¤Ê¤ë¡£
118 .PP
119 ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï
120 .BR execve (2)
121 ¤ò¼Â¹Ô¤·¤¿¸å¤â¥ª¡¼¥×¥ó¤µ¤ì¤¿¤Þ¤Þ¤È¤Ê¤ë (¤Ä¤Þ¤ê¡¢
122 .BR fcntl (2)
123 ¤ËÀâÌÀ¤¬¤¢¤ë
124 .B FD_CLOEXEC
125 ¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¦¥Õ¥é¥°¤ÏºÇ½é¤Ï̵¸ú¤Ç¤¢¤ë;
126 ¸å½Ò¤Î Linux ¸ÇÍ­¤Î¥Õ¥é¥°
127 .B O_CLOEXEC
128 ¤ò»È¤¦¤È¤³¤Î¥Ç¥Õ¥©¥ë¥È¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë)¡£
129 ¥Õ¥¡¥¤¥ë¡¦¥ª¥Õ¥»¥Ã¥È (file offset) ¤Ï¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤ËÀßÄꤵ¤ì¤ë
130 .RB ( lseek (2)
131 »²¾È)¡£
132 .PP
133 .BR open ()
134 ¤ò¸Æ¤Ó½Ð¤¹¤È¡¢¡Ö¥ª¡¼¥×¥ó¥Õ¥¡¥¤¥ëµ­½Ò¡×
135 .I "(open file description)"
136 ¤¬ºîÀ®¤µ¤ì¤ë¡£¥Õ¥¡¥¤¥ëµ­½Ò¤È¤Ï¡¢¥·¥¹¥Æ¥àÁ´ÂΤÎ
137 ¥ª¡¼¥×¥óÃæ¤Î¥Õ¥¡¥¤¥ë¤Î¥Æ¡¼¥Ö¥ë¤Î¥¨¥ó¥È¥ê¤Ç¤¢¤ë¡£
138 ¤³¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥Õ¥¡¥¤¥ë¡¦¥ª¥Õ¥»¥Ã¥È¤È¥Õ¥¡¥¤¥ë¾õÂ֥ե饰
139 .RB ( fcntl (2)
140 .B F_SETFL
141 Áàºî¤Ë¤è¤êÊѹ¹²Äǽ) ¤¬ÊÝ»ý¤¹¤ë¡£
142 ¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï¤³¤ì¤é¤Î¥¨¥ó¥È¥ê¤Î°ì¤Ä¤Ø¤Î»²¾È¤Ç¤¢¤ë¡£
143 ¤³¤Î¸å¤Ç
144 .I pathname
145 ¤¬ºï½ü¤µ¤ì¤¿¤ê¡¢Â¾¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¤è¤¦¤ËÊѹ¹¤µ¤ì¤¿¤ê¤·¤Æ¤â¡¢
146 ¤³¤Î»²¾È¤Ï±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡£
147 ¿·¤·¤¤¥ª¡¼¥×¥ó¥Õ¥¡¥¤¥ëµ­½Ò¤ÏºÇ½é¤Ï¾¤Î¤É¤Î¥×¥í¥»¥¹¤È¤â
148 ¶¦Í­¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢
149 .BR fork (2)
150 ¤Ç¶¦Í­¤¬µ¯¤³¤ë¾ì¹ç¤¬¤¢¤ë¡£
151 .PP
152 °ú¤­¿ô
153 .I flags
154 ¤Ë¤Ï¡¢¥¢¥¯¥»¥¹¥â¡¼¥É
155 .BR O_RDONLY ", " O_WRONLY ", " O_RDWR
156 ¤Î¤É¤ì¤«¤Ò¤È¤Ä¤¬Æþ¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
157 ¤³¤ì¤é¤Ï¤½¤ì¤¾¤ìÆɤ߹þ¤ßÀìÍÑ¡¢½ñ¤­¹þ¤ßÀìÍÑ¡¢Æɤ߽ñ¤­ÍѤË
158 ¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤¹¤ë¤³¤È¤òÍ׵᤹¤ë¤â¤Î¤Ç¤¢¤ë¡£
159
160 ¤µ¤é¤Ë¡¢
161 .I flags
162 ¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ëºîÀ®¥Õ¥é¥° (file creation flag) ¤È¥Õ¥¡¥¤¥ë¾õÂ֥ե饰
163 (file status flag) ¤ò 0 ¸Ä°Ê¾å¡Ö¥Ó¥Ã¥Èñ°Ì¤Î OR (bitwise-or)¡×¤Ç
164 »ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
165 .I ¥Õ¥¡¥¤¥ëºîÀ®¥Õ¥é¥°
166 ¤Ï
167 .BR O_CREAT ", " O_EXCL ", " O_NOCTTY ", " O_TRUNC
168 ¤Ç¤¢¤ë¡£
169 .I ¥Õ¥¡¥¤¥ë¾õÂ֥ե饰
170 ¤Ï°Ê²¼¤Î¥ê¥¹¥È¤Î¤¦¤Á¾åµ­°Ê³°¤Î»Ä¤ê¤Î¤â¤Î¤Ç¤¢¤ë¡£
171 .\" FIXME . Actually is it true that the "file status flags" are all of the
172 .\" remaining flags listed below?  SUSv4 divides the flags into:
173 .\" * Access mode
174 .\" * File creation
175 .\" * File status
176 .\" * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW)
177 .\" though it's not clear what the difference between "other" and
178 .\" "File creation" flags is.  (I've raised an Aardvark to see if this
179 .\" can be clarified in SUSv4; 10 Oct 2008.)
180 Æó¼ïÎà¤Î¥Õ¥é¥°¤Î°ã¤¤¤Ï¡¢¥Õ¥¡¥¤¥ë¾õÂ֥ե饰¤ÎÊý¤Ï
181 .BR fcntl (2)
182 ¤ò»È¤Ã¤Æ¤½¤ÎÆâÍƤò¼èÆÀ¤·¤¿¤ê (¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï) Êѹ¹¤·¤¿¤ê¤Ç¤­¤ëÅÀ¤Ë¤¢¤ë¡£
183 ¥Õ¥¡¥¤¥ëºîÀ®¥Õ¥é¥°¤È¥Õ¥¡¥¤¥ë¾õÂ֥ե饰¤ÎÁ´¥ê¥¹¥È¤ò°Ê²¼¤Ë¼¨¤¹:
184 .TP
185 .B O_APPEND
186 ¥Õ¥¡¥¤¥ë¤òÄɲà(append) ¥â¡¼¥É¤Ç¥ª¡¼¥×¥ó¤¹¤ë¡£
187 Ëè²ó¤Î
188 .BR write (2)
189 ¤ÎÁ°¤Ë
190 .BR lseek (2)
191 ¤ò¹Ô¤Ã¤¿¤«¤Î¤è¤¦¤Ë¡¢¥Õ¥¡¥¤¥ë¡¦¥Ý¥¤¥ó¥¿¡¼¤ò¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤Ë°ÜÆ°¤¹¤ë¡£
192 .\" For more background, see
193 .\" http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
194 .\" http://nfs.sourceforge.net/
195 NFS ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ç¡¢
196 .B O_APPEND
197 ¤ò»ÈÍѤ¹¤ë¤È¡¢Ê£¿ô¤Î¥×¥í¥»¥¹¤¬¤Ò¤È¤Ä¤Î¥Õ¥¡¥¤¥ë¤ËƱ»þ¤Ë¥Ç¡¼¥¿¤òÄɲä·¤¿¾ì¹ç¡¢
198 ¥Õ¥¡¥¤¥ë¤¬²õ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë¡£
199 ¤³¤ì¤Ï NFS ¤¬Äɲå⡼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤¿¤á¡¢
200 ¥¯¥é¥¤¥¢¥ó¥È¤Î¥«¡¼¥Í¥ë (kernel) ¤¬¤½¤ì¤ò¥·¥ß¥å¥ì¡¼¥È¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤À¤¬¡¢
201 ¶¥¹ç¾õÂÖ¤òÈò¤±¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£
202 .TP
203 .B O_ASYNC
204 ¥·¥°¥Ê¥ë¶îÆ° I/O (signal-driven I/O) ¤òÍ­¸ú¤Ë¤¹¤ë:
205 ¤³¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ø¤Î
206 ÆþÎϤޤ¿¤Ï½ÐÎϤ¬²Äǽ¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ë¡¢¥·¥°¥Ê¥ë¤òÀ¸À®¤¹¤ë
207 (¥Ç¥Õ¥©¥ë¥È¤Ï
208 .B SIGIO
209 ¤Ç¤¢¤ë¤¬¡¢
210 .BR fcntl (2)
211 ¤Ë¤è¤Ã¤ÆÊѹ¹²Äǽ¤Ç¤¢¤ë)¡£
212 ¤³¤Îµ¡Ç½¤¬»ÈÍѲÄǽ¤Ê¤Î¤ÏüËö¡¢µ¿»÷üËö¡¢¥½¥±¥Ã¥È¤Î¤ß¤Ç¤¢¤ê¡¢
213 (Linux 2.6 °Ê¹ß¤Ç¤Ï) ¥Ñ¥¤¥×¤È FIFO ¤ËÂФ·¤Æ¤â»ÈÍѤǤ­¤ë¡£
214 ¤µ¤é¤Ë¾Ü¤·¤¤ÀâÌÀ¤Ï
215 .BR fcntl (2)
216 ¤ò»²¾È¤¹¤ë¤³¤È¡£
217 .TP
218 .BR O_CLOEXEC " (Linux 2.6.23 °Ê¹ß)"
219 ¿·¤·¤¤¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ËÂФ·¤Æ close-on-exec ¥Õ¥é¥°¤òÍ­¸ú¤Ë¤¹¤ë¡£
220 ¤³¤Î¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢¥×¥í¥°¥é¥à¤Ï
221 .B FD_CLOEXEC
222 ¥Õ¥é¥°¤ò¥»¥Ã¥È¤¹¤ë¤¿¤á¤Î
223 .BR fcntl (2)
224 .B F_SETFD
225 Áàºî¤òÊÌÅӸƤӽФ¹É¬Íפ¬¤Ê¤¯¤Ê¤ë¡£
226 ¤Þ¤¿¡¢¤¢¤ë¼ï¤Î¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤Î¥×¥í¥°¥é¥à¤Ï¤³¤Î¥Õ¥é¥°¤Î»ÈÍѤÏ
227 ÉԲķç¤Ç¤¢¤ë¡£¤Ê¤¼¤Ê¤é¡¢¸ÄÊ̤Ë
228 .B FD_CLOEXEC
229 ¥Õ¥é¥°¤òÀßÄꤹ¤ë
230 .BR fcntl (2)
231 .B F_SETFD
232 Áàºî¤ò¸Æ¤Ó½Ð¤·¤¿¤È¤·¤Æ¤â¡¢¤¢¤ë¥¹¥ì¥Ã¥É¤¬¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò
233 ¥ª¡¼¥×¥ó¤¹¤ë¤Î¤ÈƱ»þ¤ËÊ̤Υ¹¥ì¥Ã¥É¤¬
234 .BR fork (2)
235 ¤È
236 .BR execve (2)
237 ¤ò¼Â¹Ô¤¹¤ë¤È¤¤¤¦¶¥¹ç¾ò·ï¤òÈò¤±¤ë¤Î¤Ë¤Ï½½Ê¬¤Ç¤Ï¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£
238 .\" This flag fixes only one form of the race condition;
239 .\" The race can also occur with, for example, descriptors
240 .\" returned by accept(), pipe(), etc.
241 .TP
242 .B O_CREAT
243 ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤ÏºîÀ® (create) ¤¹¤ë¡£
244 ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô (¥æ¡¼¥¶¡¼ ID) ¤Ï¡¢¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤ËÀßÄꤵ¤ì¤ë¡£
245 ¥°¥ë¡¼¥×½êÍ­¸¢ (¥°¥ë¡¼¥× ID) ¤Ï¡¢¥×¥í¥»¥¹¤Î¼Â¸ú¥°¥ë¡¼¥× ID
246 ¤Þ¤¿¤Ï¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥× ID ¤ËÀßÄꤵ¤ì¤ë
247 (¤³¤ì¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¿¥¤¥×¡¢¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó¡¢
248 ¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥â¡¼¥É¤Ë°Í¸¤¹¤ë¡£
249 .BR mount (8)
250 ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó
251 .I bsdgroups
252 ¤È
253 .I sysvgroups
254 ¤ò»²¾È)¡£
255 .\" 2.6.25 »þÅÀ¤Ç¤Ï¡¢bsdgroups ¤Ï ext2, ext3, ext4, XFS ¤Ç¥µ¥Ý¡¼¥È
256 .\" ¤µ¤ì¤Æ¤¤¤ë (2.6.14 °Ê¹ß)¡£
257 .RS
258 .PP
259 .I mode
260 ¤Ï¿·¤·¤¤¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¾ì¹ç¤Ë»ÈÍѤ¹¤ë¥¢¥¯¥»¥¹µö²Ä (permission) ¤ò»ØÄꤹ¤ë¡£
261 .I flags
262 ¤Ë
263 .B O_CREAT
264 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
265 .I mode
266 ¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
267 .B O_CREAT
268 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
269 .I mode
270 ¤Ï̵»ë¤µ¤ì¤ë¡£
271 Í­¸ú¤Ê¥¢¥¯¥»¥¹µö²Ä¤Ï¡¢ÉáÃʤÈƱ¤¸¤è¤¦¤Ë¥×¥í¥»¥¹¤Î
272 .I umask
273 ¤Ë¤è¤Ã¤Æ½¤Àµ¤µ¤ì¡¢ºîÀ®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Îµö²Ä¤Ï
274 .I "(mode\ &\ ~umask)"
275 ¤È¤Ê¤ë¡£
276 ¤³¤Î¥â¡¼¥É¤Ï¡¢¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¤½¤ì°Ê¹ß¤Î¥¢¥¯¥»¥¹
277 ¤Ë¤Î¤ßŬÍѤµ¤ì¤ëÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£
278 Æɤ߼è¤êÀìÍѤΥե¡¥¤¥ë¤òºîÀ®¤¹¤ë
279 .BR open ()
280 ¥³¡¼¥ë¤Ç¤¢¤Ã¤Æ¤â¡¢
281 Æɤ߽ñ¤­²Äǽ¤Ê¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¤³¤È¤¬¤¢¤ê¤¦¤ë¡£
282 .PP
283 .I mode
284 ¤Î¤¿¤á¤Ë°Ê²¼¤Î¥·¥ó¥Ü¥ëÄê¿ô¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë :
285 .TP 9
286 .B S_IRWXU
287 00700 ¥æ¡¼¥¶¡¼ (¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô) ¤ËÆɤ߹þ¤ß¡¢½ñ¤­¹þ¤ß¡¢
288 ¼Â¹Ô¤Îµö²Ä¤¬¤¢¤ë¡£
289 .TP
290 .B S_IRUSR
291 00400 ¥æ¡¼¥¶¡¼¤ËÆɤ߹þ¤ß¤Îµö²Ä¤¬¤¢¤ë¡£
292 .TP
293 .B S_IWUSR
294 00200 ¥æ¡¼¥¶¡¼¤Ë½ñ¤­¹þ¤ß¤Îµö²Ä¤¬¤¢¤ë¡£
295 .TP
296 .B S_IXUSR
297 00100 ¥æ¡¼¥¶¡¼¤Ë¼Â¹Ô¤Îµö²Ä¤¬¤¢¤ë¡£
298 .TP
299 .B S_IRWXG
300 00070 ¥°¥ë¡¼¥×¤ËÆɤ߹þ¤ß¡¢½ñ¤­¹þ¤ß¡¢¼Â¹Ô¤Îµö²Ä¤¬¤¢¤ë¡£
301 .TP
302 .B S_IRGRP
303 00040 ¥°¥ë¡¼¥×¤ËÆɤ߹þ¤ß¤Îµö²Ä¤¬¤¢¤ë¡£
304 .TP
305 .B S_IWGRP
306 00020 ¥°¥ë¡¼¥×¤Ë½ñ¤­¹þ¤ß¤Îµö²Ä¤¬¤¢¤ë¡£
307 .TP
308 .B S_IXGRP
309 00010 ¥°¥ë¡¼¥×¤Ë¼Â¹Ô¤Îµö²Ä¤¬¤¢¤ë¡£
310 .TP
311 .B S_IRWXO
312 00007 Â¾¿Í (others) ¤ËÆɤ߹þ¤ß¡¢½ñ¤­¹þ¤ß¡¢¼Â¹Ô¤Îµö²Ä¤¬¤¢¤ë¡£
313 .TP
314 .B S_IROTH
315 00004 Â¾¿Í¤ËÆɤ߹þ¤ß¤Îµö²Ä¤¬¤¢¤ë¡£
316 .TP
317 .B S_IWOTH
318 00002 Â¾¿Í¤Ë½ñ¤­¹þ¤ß¤Îµö²Ä¤¬¤¢¤ë¡£
319 .TP
320 .B S_IXOTH
321 00001 Â¾¿Í¤Ë¼Â¹Ô¤Îµö²Ä¤¬¤¢¤ë¡£
322 .RE
323 .TP
324 .BR O_DIRECT " (Linux 2.4.10 °Ê¹ß)"
325 ¤³¤Î¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë I/O ¤Î¥­¥ã¥Ã¥·¥å¤Î¸ú²Ì¤òºÇ¾®²½¤·¤è¤¦¤È¤¹¤ë¡£
326 ¤³¤Î¥Õ¥é¥°¤ò»È¤¦¤È¡¢°ìÈÌŪ¤ËÀ­Ç½¤¬Äã²¼¤¹¤ë¡£
327 ¤·¤«¤·¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Æȼ«¤Ë¥­¥ã¥Ã¥·¥ó¥°¤ò¹Ô¤Ã¤Æ¤¤¤ë¤è¤¦¤Ê
328 ÆÃÊ̤ʾì¹ç¤Ë¤ÏÌò¤ËΩ¤Ä¡£
329 ¥Õ¥¡¥¤¥ë¤Î I/O ¤Ï¥æ¡¼¥¶¡¼¶õ´Ö¥Ð¥Ã¥Õ¥¡¤ËÂФ·¤ÆľÀܹԤï¤ì¤ë¡£
330 .B O_DIRECT
331 ¥Õ¥é¥°¼«¿È¤Ï¥Ç¡¼¥¿¤òƱ´ü¤ÇžÁ÷¤·¤è¤¦¤È¤Ï¤¹¤ë¤¬¡¢
332 .B O_SYNC
333 ¤Î¤è¤¦¤Ë¥Ç¡¼¥¿¤ÈɬÍפʥ᥿¥Ç¡¼¥¿¤ÎžÁ÷¤¬Êݾڤµ¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£
334 Ʊ´ü I/O ¤òÊݾڤ¹¤ë¤¿¤á¤Ë¤Ï¡¢
335 .B O_DIRECT
336 ¤Ë²Ã¤¨¤Æ
337 .B O_SYNC
338 ¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
339 ¡ÖÃí°Õ¡×¤ÎÀá (²¼µ­) ¤ÎµÄÏÀ¤â»²¾È¡£
340 .sp
341 ¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤ËÂФ¹¤ë»÷Ä̤ä¿°ÕÌ£¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬
342 .BR raw (8)
343 ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë (⤷¡¢¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÏÈó¿ä¾©¤Ç¤¢¤ë)¡£
344 .TP
345 .B O_DIRECTORY
346 \fIpathname\fP ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤±¤ì¤Ð¥ª¡¼¥×¥ó¤Ï¼ºÇÔ¤¹¤ë¡£
347 .\" °Ê²¼¤Îµ­»ö¤È¤½¤Î¥ê¥×¥é¥¤¤ò»²¾È¤Î¤³¤È¡£
348 .\" http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2
349 .\" [PATCH] open: O_DIRECTORY and O_CREAT together should fail
350 .\" O_DIRECTORY | O_CREAT ¤ò»ØÄꤹ¤ë¤È O_DIRECTORY ¤¬Ìµ»ë¤µ¤ì¤Æ¤·¤Þ¤¦¡£
351 ¤³¤Î¥Õ¥é¥°¤Ï Linux ÆÃÍ­¤Ç¤¢¤ê¡¢
352 .BR opendir (3)
353 ¤¬ FIFO ¤ä¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¥³¡¼¥ë¤µ¤ì¤¿¾ì¹ç¤Î
354 ¥µ¡¼¥Ó¥¹ÉÔǽ (denial-of-service) ¹¶·â¤òÈò¤±¤ë¤¿¤á¤Ë
355 ¥«¡¼¥Í¥ë 2.1.126 ¤ÇÄɲ䵤줿¡£
356 ¤·¤«¤·¤³¤ì¤Ï
357 .BR opendir (3)
358 ¤Î¼ÂÁõ°Ê³°¤Ç¤Ï»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
359 .TP
360 .B O_EXCL
361 ¤³¤Î¸Æ¤Ó½Ð¤·¤Ç¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¤³¤È¤òÊݾڤ¹¤ë¡£
362 ¤³¤Î¥Õ¥é¥°¤¬
363 .B O_CREAT
364 ¤È°ì½ï¤Ë»ØÄꤵ¤ì¡¢
365 .I pathname
366 ¤Î¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤·¤¿¾ì¹ç¡¢
367 .BR open ()
368 ¤Ï¼ºÇÔ¤¹¤ë¡£
369 .B O_CREAT
370 ¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î
371 .B O_EXCL
372 ¤ÎÆ°ºî¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
373
374 ¤³¤ì¤éÆó¤Ä¤Î¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤¿ºÝ¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ïé¤é¤ì¤Ê¤¤¡£
375 .\" POSIX.1-2001 ¤Ç¤ÏÌÀ¼¨Åª¤Ë¤³¤ÎÆ°ºî¤òÍ׵ᤷ¤Æ¤¤¤ë¡£
376 .I pathname
377 ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¡¢
378 ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬¤É¤³¤ò»Ø¤·¤Æ¤¤¤ë¤«¤Ë´Ø¤ï¤é¤º
379 .BR open ()
380 ¤Ï¼ºÇÔ¤¹¤ë¡£
381
382 .B O_EXCL
383 ¤Ï¡¢Linux 2.6 °Ê¹ß¤Ç NFSv3 °Ê¹ß¤ò»È¤Ã¤Æ¤¤¤ë NFS ¤Ç¤Î¤ß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
384 NFS ¤Î
385 .B O_EXCL
386 ¥µ¥Ý¡¼¥È¤¬Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤´Ä¶­¤Ç¤Ï¡¢¤³¤Î¥Õ¥é¥°¤ËÍê¤Ã¤Æ
387 ¥í¥Ã¥¯½èÍý¤ò¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤Ï¶¥¹ç¾õÂÖ (race condition) ¤Ë½Ð²ñ¤¦
388 ²ÄǽÀ­¤¬¤¢¤ë¡£
389 ¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤ÆÉÔ²Äʬ (atomic) ¤Ê¥Õ¥¡¥¤¥ë¥í¥Ã¥¯¤ò¼Â¸½¤·¡¢
390 NFS ¤¬
391 .B O_EXCL
392 ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤«¤Ë°Í¸¤·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤¤¾ì¹ç¡¢
393 °Ü¿¢À­¤Î¤¢¤ëÊýË¡¤Ï¡¢Æ±¤¸¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¾¤È̾Á°¤Î½Å¤Ê¤é¤Ê¤¤
394 ¥Õ¥¡¥¤¥ë (Î㤨¤Ð¥Û¥¹¥È̾¤È PID ¤òÁȤ߹ç¤ï¤»¤¿Ì¾Á°) ¤òºîÀ®¤·¡¢
395 .BR link (2)
396 ¤ò»ÈÍѤ·¤Æ¤½¤Î¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£
397 .BR link (2)
398 ¥³¡¼¥ë¤ÎÊÖ¤êÃͤ¬ 0 ¤Ê¤é¤Ð¥í¥Ã¥¯¤ËÀ®¸ù¤·¤Æ¤¤¤ë¡£
399 ¤¢¤ë¤¤¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Ë
400 .BR stat (2)
401 ¤ò»ÈÍѤ·¤Æ¥ê¥ó¥¯¿ô (link count) ¤¬ 2 ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡£
402 ¤½¤¦¤Ê¤Ã¤Æ¤¤¤ì¤Ð¡¢Æ±¤¸¤¯¥í¥Ã¥¯¤ËÀ®¸ù¤·¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£
403 .TP
404 .B O_LARGEFILE
405 (LFS)
406 .I off_t
407 ¤Ç¤Ï¥µ¥¤¥º¤òɽ¤»¤Ê¤¤ (¤À¤À¤·
408 .I off64_t
409 ¤Ç¤Ï¥µ¥¤¥º¤òɽ¤»¤ë) ¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó²Äǽ¤Ë¤¹¤ë¡£
410 ¤³¤ÎÄêµÁ¤òÍ­¸ú¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
411 .B _LARGEFILE64_SOURCE
412 ¥Þ¥¯¥í¤òÄêµÁ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
413 32¥Ó¥Ã¥È¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤ÆÂ礭¤Ê¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤¹¤ëÊýË¡¤òÆÀ¤¿¤¤¾ì¹ç¡¢
414 .RB ( O_LARGEFILE
415 ¤ò»È¤¦¤è¤ê¤â)
416 .B _FILE_OFFSET_BITS
417 µ¡Ç½¸¡ºº¥Þ¥¯¥í¤ò¥»¥Ã¥È¤¹¤ëÊý¤¬Ë¾¤Þ¤·¤¤ÊýË¡¤Ç¤¢¤ë
418 .RB ( feature_test_macros (7)
419 ¤ò»²¾È)¡£
420 .TP
421 .BR O_NOATIME " (Linux 2.6.8 °Ê¹ß)"
422 ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ
423 .BR read (2)
424 ¤¬¼Â¹Ô¤µ¤ì¤¿¤È¤­¤Ë¡¢ºÇ½ª¥¢¥¯¥»¥¹»þ¹ï (inode ¤Î st_atime) ¤ò¹¹¿·¤·¤Ê¤¤¡£
425 ¤³¤Î¥Õ¥é¥°¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹ºîÀ®¤ä¥Ð¥Ã¥¯¥¢¥Ã¥×¥×¥í¥°¥é¥à¤Ç»È¤¦¤³¤È¤ò°Õ¿Þ¤·¤Æ¤¤¤ë¡£
426 ¤³¤ì¤ò»È¤¦¤È¥Ç¥£¥¹¥¯¤ËÂФ¹¤ëÁàºî¤òÂçÉý¤Ë¸º¤é¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
427 ¤³¤Î¥Õ¥é¥°¤ÏÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂФ·¤ÆÍ­¸ú¤Ç¤¢¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£
428 ¤½¤Î°ìÎ㤬 NFS ¤Ç¤¢¤ê¡¢¥µ¡¼¥Ð¤¬¥¢¥¯¥»¥¹»þ¹ï¤ò´ÉÍý¤·¤Æ¤¤¤ë¡£
429 .\" The O_NOATIME flag also affects the treatment of st_atime
430 .\" by mmap() and readdir(2), MTK, Dec 04.
431 .TP
432 .B O_NOCTTY
433 .I pathname
434 ¤¬Ã¼Ëö (terminal) ¥Ç¥Ð¥¤¥¹
435 \(em
436 .BR tty (4)
437 »²¾È
438 \(em
439 ¤ò»Ø¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢¤¿¤È¤¨¤½¤Î¥×¥í¥»¥¹¤¬À©¸æüËö¤ò»ý¤Ã¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢
440 ¥ª¡¼¥×¥ó¤·¤¿¥Õ¥¡¥¤¥ë¤ÏÀ©¸æüËö¤Ë¤Ï¤Ê¤é¤Ê¤¤¡£
441 .TP
442 .B O_NOFOLLOW
443 \fIpathname\fP ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤À¤Ã¤¿¾ì¹ç¡¢¥ª¡¼¥×¥ó¤Ï¼ºÇÔ¤¹¤ë¡£
444 ¤³¤ì¤Ï FreeBSD ¤Î³ÈÄ¥¤Ç¡¢Linux ¤Ë¤Ï 2.1.126 ¤è¤êÄɲ䵤줿¡£
445 pathname ¤ÎÁ°¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È (earlier component;
446 ÌõÃð: ºÇ¸å¤Î¥Ç¥£¥ì¥¯¥È¥ê¥»¥Ñ¥ì¡¼¥¿¤è¤êÁ°¤ÎÉôʬ) ¤¬
447 ¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤¬»Ø¤¹À褬»²¾È¤µ¤ì¤ë¡£
448 .\" glibc 2.0.100 °Ê¹ß¤Î¥Ø¥Ã¥À¡¼¤Ë¤Ï¤³¤Î¥Õ¥é¥°¤ÎÄêµÁ¤¬¤¢¤ë¡£
449 .\" \fI2.1.126 °ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç»ÈÍѤ·¤¿¾ì¹ç¤Ë¤Ï̵»ë¤µ¤ì¤ë¡£\fP
450 .TP
451 .BR O_NONBLOCK " ¤Þ¤¿¤Ï " O_NDELAY
452 ²Äǽ¤Ê¤é¤Ð¡¢¥Õ¥¡¥¤¥ë¤ÏÈóÄä»ß (nonblocking) ¥â¡¼¥É¤Ç¥ª¡¼¥×¥ó¤µ¤ì¤ë¡£
453 .BR open ()
454 ¤â¡¢ÊÖ¤·¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ËÂФ¹¤ë°Ê¸å¤Î¤¹¤Ù¤Æ¤ÎÁàºî¤â
455 ¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤òÂÔ¤¿¤»¤ë¤³¤È¤Ï¤Ê¤¤¡£
456 FIFO (¥Í¡¼¥à¥É¡¦¥Ñ¥¤¥×) ¤ò°·¤¦¾ì¹ç¤Ë¤Ï
457 .BR fifo (7)
458 ¤â»²¾È¤¹¤ë¤³¤È¡£
459 ¶¯À©¥Õ¥¡¥¤¥ë¥í¥Ã¥¯ (mandatory file lock) ¤ä¥Õ¥¡¥¤¥ë¥ê¡¼¥¹ (file lease)
460 ¤ÈÁȤ߹ç¤ï¤»¤¿¾ì¹ç¤Î¡¢
461 .B O_NONBLOCK
462 ¤Î¸ú²Ì¤Ë¤Ä¤¤¤Æ¤ÎµÄÏÀ¤Ï¡¢
463 .BR fcntl (2)
464 ¤ò»²¾È¤¹¤ë¤³¤È¡£
465 .TP
466 .B O_SYNC
467 ¥Õ¥¡¥¤¥ë¤ÏƱ´ü (synchronous) I/O ¥â¡¼¥É¤Ç¥ª¡¼¥×¥ó¤µ¤ì¤ë¡£
468 .BR open ()
469 ¤¬ÊÖ¤·¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ËÂФ·¤Æ
470 .BR write (2)
471 ¤ò¹Ô¤¦¤È¡¢É¬¤º¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤ò¥Ö¥í¥Ã¥¯¤·¡¢
472 ³ºÅö¥Ï¡¼¥É¥¦¥§¥¢¤ËʪÍýŪ¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¤Þ¤ÇÊÖ¤é¤Ê¤¤¡£
473 .I °Ê²¼¤Î¡ÖÃí°Õ¡×¤Î¾Ï¤â»²¾È¡£
474 .TP
475 .B O_TRUNC
476 ¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤·¡¢Ä̾ï¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢
477 ½ñ¤­¹þ¤ß²Ä¥â¡¼¥É¤Ç¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë
478 (¤Ä¤Þ¤ê¡¢
479 .BR O_RDWR "¤Þ¤¿¤Ï" O_WRONLY
480 ¤Î) ¾ì¹ç¡¢Ä¹¤µ 0 ¤ËÀÚ¤êµÍ¤á (truncate) ¤é¤ì¤ë¡£
481 ¥Õ¥¡¥¤¥ë¤¬ FIFO ¤Þ¤¿¤ÏüËö¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢
482 .B O_TRUNC
483 ¥Õ¥é¥°¤Ï̵»ë¤µ¤ì¤ë¡£
484 ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢
485 .B O_TRUNC
486 ¤Î¸ú²Ì¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
487 .PP
488 ¤³¤ì¤é¤ÎÁªÂò¥Õ¥é¥°¤Î¤¤¤¯¤Ä¤«¤Ï¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤·¤¿¸å¤Ç¤â
489 .BR fcntl (2)
490 ¤ò»ÈÍѤ·¤ÆÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
491
492 .BR creat ()
493 ¤Ï
494 .I flags
495 ¤Ë
496 .B O_CREAT|O_WRONLY|O_TRUNC
497 ¤ò»ØÄꤷ¤Æ
498 .BR open ()
499 ¤ò¹Ô¤¦¤Î¤ÈÅù²Á¤Ç¤¢¤ë¡£
500 .SH ÊÖ¤êÃÍ
501 .BR open ()
502 ¤È
503 .BR creat ()
504 ¤Ï¿·¤·¤¤¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¡£
505 ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï \-1 ¤òÊÖ¤¹
506 (¤½¤Î¾ì¹ç¤Ï
507 .I errno
508 ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë)¡£
509 .SH ¥¨¥é¡¼
510 .TP
511 .B EACCES
512 ¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ëÍ׵ᤵ¤ì¤¿¥¢¥¯¥»¥¹¤¬µö¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢
513 .I pathname
514 ¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤Î²¿¤ì¤«¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸¡º÷µö²Ä¤¬¤Ê¤«¤Ã¤¿¡£
515 ¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤»¤º¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î½ñ¤­¹þ¤ßµö²Ä¤¬¤Ê¤«¤Ã¤¿¡£
516 .RB ( path_resolution (7)
517 ¤â»²¾È¤¹¤ë¤³¤È¡£)
518 .TP
519 .B EEXIST
520 .I pathname
521 ¤Ï´û¤Ë¸ºß¤·¡¢
522 .BR O_CREAT " ¤È " O_EXCL
523 ¤¬»ÈÍѤµ¤ì¤¿¡£
524 .TP
525 .B EFAULT
526 .I pathname
527 ¤Î»Ø¤¹Îΰ褬¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö¤Ë¤Ê¤¤¡£
528 .TP
529 .B EFBIG
530 .B EOVERFLOW
531 »²¾È¡£
532 .TP
533 .B EINTR
534 ÃÙ¤¤¥Ç¥Ð¥¤¥¹
535 (Î㤨¤Ð FIFO¡¢
536 .BR fifo (7)
537 »²¾È) ¤Î¥ª¡¼¥×¥ó¤¬´°Î»¤¹¤ë¤Î¤òÂԤäÆÄä»ß¤·¤Æ¤¤¤ë´Ö¤Ë
538 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ë¤è¤ê³ä¤ê¹þ¤Þ¤ì¤¿¡£
539 .BR signal (7)
540 »²¾È¡£
541 .TP
542 .B EISDIR
543 .I pathname
544 ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ò»²¾È¤·¤Æ¤ª¤ê¡¢½ñ¤­¹þ¤ßÍ׵᤬´Þ¤Þ¤ì¤Æ¤¤¤¿
545 (¤Ä¤Þ¤ê
546 .B O_WRONLY
547 ¤Þ¤¿¤Ï
548 .B O_RDWR
549 ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë)¡£
550 .TP
551 .B ELOOP
552 .I pathname
553 ¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£
554 ¤Þ¤¿¤Ï \fBO_NOFOLLOW\fP ¤¬»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢
555 .I pathname
556 ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤À¤Ã¤¿¡£
557 .TP
558 .B EMFILE
559 ¥×¥í¥»¥¹¤¬¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¿ô¤¬¤¹¤Ç¤ËºÇÂç¿ô¤Ë㤷¤Æ¤¤¤ë¡£
560 .TP
561 .B ENAMETOOLONG
562 .I pathname
563 ¤¬Ä¹²á¤®¤ë¡£
564 .TP
565 .B ENFILE
566 ¥ª¡¼¥×¥ó¤Ç¤­¤ë¥Õ¥¡¥¤¥ë¤Î¹ç·×¿ô¤¬¥·¥¹¥Æ¥àÀ©¸Â¤Ë㤷¤Æ¤¤¤ë¡£
567 .TP
568 .B ENODEV
569 .I pathname
570 ¤¬¥Ç¥Ð¥¤¥¹¡¦¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤ª¤ê¡¢Âбþ¤¹¤ë¥Ç¥Ð¥¤¥¹¤¬Â¸ºß¤·¤Ê¤¤¡£
571 (¤³¤ì¤Ï Linux ¥«¡¼¥Í¥ë¤Î¥Ð¥°¤Ç¤¢¤ê¡¢¤³¤Î¾ì¹ç¤Ë¤Ï
572 .B ENXIO
573 ¤¬ÊÖ¤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë)
574 .TP
575 .B ENOENT
576 .B O_CREAT
577 ¤¬ÀßÄꤵ¤ì¤Æ¤ª¤é¤º¡¢¤«¤Ä»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¡£
578 ¤Þ¤¿¤Ï¡¢
579 .I pathname
580 ¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤¬Â¸ºß¤·¤Ê¤¤¤«²õ¤ì¤¿ (dangling) ¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ç¤¢¤ë¡£
581 .TP
582 .B ENOMEM
583 ¥«¡¼¥Í¥ë¤ËÍøÍѤǤ­¤ë¥á¥â¥ê¤¬ÉÔ­¤·¤Æ¤¤¤ë
584 .TP
585 .B ENOSPC
586 .I pathname
587 ¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¤¬¡¢
588 .I pathname
589 ¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥Ð¥¤¥¹¤Ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤¿¤á¤Î¶õ¤­ÍÆÎ̤¬¤Ê¤¤¡£
590 .TP
591 .B ENOTDIR
592 .I pathname
593 ¤Ë´Þ¤Þ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤Î¤É¤ì¤«¤¬¼ÂºÝ¤Ë¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
594 ¤Þ¤¿¤Ï \fBO_DIRECTORY\fP ¤¬»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢
595 .I pathname
596 ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
597 .TP
598 .B ENXIO
599 .BR O_NONBLOCK " | " O_WRONLY
600 ¤¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬ FIFO ¤Ç
601 ¤½¤Î¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ß¤Î¤¿¤á¤Ë¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¥×¥í¥»¥¹¤¬Â¸ºß¤·¤Ê¤¤¡£
602 ¤Þ¤¿¤Ï¡¢¥Õ¥¡¥¤¥ë¤¬¥Ç¥Ð¥¤¥¹¡¦¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë¤Ç
603 Âбþ¤¹¤ë¥Ç¥Ð¥¤¥¹¤¬Â¸ºß¤·¤Ê¤¤¡£
604 .TP
605 .B EOVERFLOW
606 .I pathname
607 ¤¬»²¾È¤·¤Æ¤¤¤ë¤Î¤¬¡¢Â礭²á¤®¤Æ¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤¤Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¡£
608 Ä̾¤³¤Î¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¤Ï¡¢32 ¥Ó¥Ã¥È¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç
609 .I -D_FILE_OFFSET_BITS=64
610 ¤ò»ØÄꤻ¤º¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¡¢¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬
611 .I (2<31)-1
612 ¥Ó¥Ã¥È¤òĶ¤¨¤ë¥Õ¥¡¥¤¥ë¤ò³«¤³¤¦¤È¤·¤¿¾ì¹ç¤Ç¤¢¤ë¡£
613 ¾åµ­¤Î
614 .B O_LARGEFILE
615 ¤â»²¾È¡£
616 ¤³¤ì¤Ï POSIX.1-2001 ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ç¤¢¤ë¡£
617 2.6.24 ¤è¤êÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢Linux ¤Ï¤³¤Î¾ì¹ç¤Ë¥¨¥é¡¼
618 .B EFBIG
619 ¤òÊÖ¤·¤Æ¤¤¤¿¡£
620 .\" See http://bugzilla.kernel.org/show_bug.cgi?id=7253
621 .\" "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
622 .\" Reported 2006-10-03
623 .TP
624 .B EPERM
625 .B O_NOATIME
626 ¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤¿¤¬¡¢¸Æ¤Ó½Ð¤·¸µ¤Î¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤¬
627 .\" ¸·Ì©¤Ë¸À¤¨¤Ð¡¢¸Æ¤Ó½Ð¤·¸µ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à UID...(MTK)
628 ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤È°ìÃפ»¤º¡¢¤«¤Ä¸Æ¤Ó½Ð¤·¸µ¤ËÆø¢
629 .RB ( CAP_FOWNER )
630 ¤¬¤Ê¤¤¡£
631 .TP
632 .B EROFS
633 .I pathname
634 ¤¬Æɤ߹þ¤ßÀìÍѤΥե¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤ª¤ê¡¢
635 ½ñ¤­¹þ¤ß¥¢¥¯¥»¥¹¤¬Í׵ᤵ¤ì¤¿¡£
636 .TP
637 .B ETXTBSY
638 .I pathname
639 ¤¬¸½ºß¼Â¹ÔÃæ¤Î¼Â¹Ô¥¤¥á¡¼¥¸¤ò»²¾È¤·¤Æ¤ª¤ê¡¢½ñ¤­¹þ¤ß¤¬Í׵ᤵ¤ì¤¿¡£
640 .TP
641 .B EWOULDBLOCK
642 .B O_NONBLOCK
643 ¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤¿¤¬¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Ë¤ÏÌ·½â¤¹¤ë¥ê¡¼¥¹¤¬ÀßÄꤵ¤ì¤Æ¤¤¤¿
644 .RB ( fcntl (2)
645 »²¾È)¡£
646 .SH ½àµò
647 SVr4, 4.3BSD, POSIX.1-2001.
648 ¥Õ¥é¥°
649 .BR O_DIRECTORY ,
650 .BR O_NOATIME ,
651 .B O_NOFOLLOW
652 ¤Ï Linux ÆÃÍ­¤Î¤â¤Î¤Ç¤¢¤ê¡¢
653 ¤³¤ì¤é¤Î¥Õ¥é¥°¤ÎÄêµÁ¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢
654 .B _GNU_SOURCE
655 ¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
656
657 .BR O_CLOEXEC
658 ¥Õ¥é¥°¤Ï POSIX.1-2001 ¤Ç¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢
659 POSIX.1-2008 ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¡£
660
661 .B O_DIRECT
662 ¤Ï POSIX ¤Ç¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
663 .B O_DIRECT
664 ¤ÎÄêµÁ¤òÆÀ¤ë¤Ë¤Ï
665 .B _GNU_SOURCE
666 ¤òÄêµÁ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
667 .SH Ãí°Õ
668 Linux ¤Ç¤Ï¡¢
669 .B O_NONBLOCK
670 ¥Õ¥é¥°¤Ï¡¢
671 open ¤ò¼Â¹Ô¤·¤¿¤¤¤¬ read ¤Þ¤¿¤Ï write ¤ò¼Â¹Ô¤¹¤ë°Õ¿Þ¤Ï
672 ɬ¤º¤·¤â¤Ê¤¤¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
673 ¤³¤ì¤Ï
674 .BR ioctl (2)
675 ¤Î¤¿¤á¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë¡¢
676 ¥Ç¥Ð¥¤¥¹¤ò¥ª¡¼¥×¥ó¤¹¤ë¤È¤­¤Ë¤è¤¯ÍѤ¤¤é¤ì¤ë¡£
677
678 ¡Ö¥¢¥¯¥»¥¹¥â¡¼¥É¡×¤ÎÃÍ
679 .BR O_RDONLY ", " O_WRONLY ", " O_RDWR
680 ¤Ï¡¢
681 .I flags
682 ¤Ë»ØÄê¤Ç¤­¤ë¾¤ÎÃͤȰ㤤¡¢¸Ä¡¹¤Î¥Ó¥Ã¥È¤ò»ØÄꤹ¤ë¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢
683 ¤³¤ì¤é¤ÎÃͤÏ
684 .I flags
685 ¤Î²¼°Ì 2 ¥Ó¥Ã¥È¤òÄêµÁ¤¹¤ë¡£
686 .BR O_RDONLY ", " O_WRONLY ", " O_RDWR
687 ¤Ï¤½¤ì¤¾¤ì 0, 1, 2 ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
688 ¸À¤¤´¹¤¨¤ë¤È¡¢
689 .B "O_RDONLY | O_WRONLY"
690 ¤ÎÁȤ߹ç¤ï¤»¤ÏÏÀÍýŪ¤Ë´Ö°ã¤¤¤Ç¤¢¤ê¡¢³Î¤«¤Ë
691 .B O_RDWR
692 ¤ÈƱ¤¸°ÕÌ£¤Ç¤Ï¤Ê¤¤¡£
693 Linux ¤Ç¤Ï¡¢ÆÃÊ̤ʡ¢Èóɸ½à¤Ê¥¢¥¯¥»¥¹¥â¡¼¥É¤È¤·¤Æ 3 (¥Ð¥¤¥Ê¥ê¤Ç¤Ï 11) ¤¬
694 ͽÌ󤵤ì¤Æ¤ª¤ê
695 .I flags
696 ¤Ë»ØÄê¤Ç¤­¤ë¡£
697 ¤³¤Î¥¢¥¯¥»¥¹¥â¡¼¥É¤ò»ØÄꤹ¤ë¤È¡¢¥Õ¥¡¥¤¥ë¤ÎÆɤ߽Ф·/½ñ¤­¹þ¤ßµö²Ä¤ò¥Á¥§¥Ã¥¯¤·¡¢
698 Æɤ߽Ф·¤Ë¤â½ñ¤­¹þ¤ß¤Ë¤â»ÈÍѤǤ­¤Ê¤¤¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¡£
699 ¤³¤ÎÈóɸ½à¤Î¥¢¥¯¥»¥¹¥â¡¼¥É¤Ï¤¤¤¯¤Ä¤«¤Î Linux ¥É¥é¥¤¥Ð¤Ç»ÈÍѤµ¤ì¤Æ¤ª¤ê¡¢
700 ¥Ç¥Ð¥¤¥¹¸ÇÍ­¤Î
701 .BR ioctl (2)
702 Áàºî¤Ë¤Î¤ß»ÈÍѤµ¤ì¤ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¤¿¤á¤Ë»È¤ï¤ì¤Æ¤¤¤ë¡£
703 .\" See for example util-linux's disk-utils/setfdprm.c
704 .\" For some background on access mode 3, see
705 .\" http://thread.gmane.org/gmane.linux.kernel/653123
706 .\" "[RFC] correct flags to f_mode conversion in __dentry_open"
707 .\" LKML, 12 Mar 2008
708 .LP
709 .B O_RDONLY | O_TRUNC
710 ¤Î±Æ¶Á¤Ï̤ÄêµÁ¤Ç¤¢¤ê¡¢¤½¤ÎÆ°ºî¤Ï¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¡£
711 ¿¤¯¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¥Õ¥¡¥¤¥ë¤Ï¼ÂºÝ¤ËÀÚ¤êµÍ¤á¤é¤ì¤ë¡£
712 .\" Linux 2.0, 2.5: truncate
713 .\" Solaris 5.7, 5.8: truncate
714 .\" Irix 6.5: truncate
715 .\" Tru64 5.1B: truncate
716 .\" HP-UX 11.22: truncate
717 .\" FreeBSD 4.7: truncate
718 .PP
719 NFS ¤ò¼Â¸½¤·¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¤Ë¤Ï¿¤¯¤ÎÉÔÈ÷¤¬¤¢¤ê¡¢ÆäË
720 .BR O_SYNC " ¤È " O_NDELAY
721 ¤Ë±Æ¶Á¤¹¤ë¡£
722
723 POSIX ¤Ç¤Ï¡¢3 ¼ïÎà¤ÎƱ´ü I/O ¤¬Ä󶡤µ¤ì¤Æ¤ª¤ê¡¢
724 .BR O_SYNC ,
725 .BR O_DSYNC ,
726 .BR O_RSYNC
727 ¥Õ¥é¥°¤¬¤³¤ì¤ËÂбþ¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
728 º£¤Î¤È¤³¤í (¥«¡¼¥Í¥ë 2.6.31)¡¢
729 Linux ¤Ç¤Ï
730 .B O_SYNC
731 ¤À¤±¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢
732 glibc ¤Ï
733 .B O_DSYNC
734 ¤È
735 .B O_RSYNC
736 ¤Ë
737 .B O_SYNC
738 ¤ÈƱ¤¸¿ôÃͤò³ä¤êÅö¤Æ¤Æ¤¤¤ë¡£
739 ¤Û¤È¤ó¤É¤Î Linux ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢¼ÂºÝ¤Ë¤Ï POSIX ¤Î
740 .B O_SYNC
741 ¤ÎÆ°ºî¤Ç¤Ï¤Ê¤¯
742 .B O_DSYNC
743 ¤ÎÆ°ºî¤À¤±¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¡£
744 POSIX ¤Î
745 .B O_SYNC
746 ¤Ç¤Ï¡¢
747 .BR open ()
748 ¤¬¥æ¡¼¥¶¶õ´Ö¤ËÊÖ¤ëºÝ¤Ë¡¢½ñ¤­¹þ¤ß¤Ë´Ø¤¹¤ëÁ´¤Æ¤Î¥á¥¿¥Ç¡¼¥¿¤Î
749 ¹¹¿·¤¬¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£
750 °ìÊý¡¢
751 .B O_DSYNC
752 ¤Ç¤Ï¡¢
753 .BR open ()
754 ¤¬ÊÖ¤ë¤Þ¤Ç¤Ë¡¢¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë¤Î¥Ç¡¼¥¿¤È¤½¤Î¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë
755 ɬÍפʥ᥿¥Ç¡¼¥¿¤À¤±¤¬¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤ì¤Ð¤è¤¤¡£
756
757 .BR open ()
758 ¤Ï¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤¬¡¢
759 .BR creat ()
760 ¤Ç¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Ê¤¤ÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£
761 Âå¤ï¤ê¤Ë
762 .BR mknod (2)
763 ¤ò»ÈÍѤ¹¤ë¡£
764 .LP
765 UID ¥Þ¥Ã¥Ô¥ó¥°¤ò»ÈÍѤ·¤Æ¤¤¤ë NFS ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
766 .BR open ()
767 ¤¬¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤·¤¿¾ì¹ç¤Ç¤â
768 .BR read (2)
769 ¤¬ \fBEACCES\fP ¤ÇµñÈݤµ¤ì¤ë¾ì¹ç¤¬¤¢¤ë¡£
770 ¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥¯¥»¥¹µö²Ä¤Î¥Á¥§¥Ã¥¯¤ò¹Ô¤Ã¤Æ
771 .BR open ()
772 ¤ò¼Â¹Ô¤¹¤ë¤¬¡¢Æɤ߹þ¤ß¤ä½ñ¤­¹þ¤ß¤ÎºÝ¤Ë¤Ï
773 ¥µ¡¼¥Ð¡¼¤Ç UID ¥Þ¥Ã¥Ô¥ó¥°¤¬¹Ô¤ï¤ì¤ë¤¿¤á¤Ç¤¢¤ë¡£
774
775 ¥Õ¥¡¥¤¥ë¤¬¿·¤·¤¯ºîÀ®¤µ¤ì¤ë¤È¡¢
776 ¥Õ¥¡¥¤¥ë¤Î
777 .IR st_atime ,
778 .IR st_ctime ,
779 .I st_mtime
780 ¥Õ¥£¡¼¥ë¥É
781 (¤½¤ì¤¾¤ìºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¡¢ºÇ½ª¾õÂÖÊѹ¹»þ¹ï¡¢ºÇ½ª½¤Àµ»þ¹ï¤Ç¤¢¤ë¡£
782 .BR stat (2)
783 »²¾È) ¤¬¸½ºß»þ¹ï¤ËÀßÄꤵ¤ì¤ë¡£
784 ¤µ¤é¤Ë¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î
785 .I st_ctime
786 ¤È
787 .I st_mtime
788 ¤â¸½ºß»þ¹ï¤ËÀßÄꤵ¤ì¤ë¡£
789 ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ç¡¢O_TRUNC ¥Õ¥é¥°¤Ç¥Õ¥¡¥¤¥ë¤¬½¤Àµ¤µ¤ì¤¿¤È¤­¤Ï¡¢
790 ¥Õ¥¡¥¤¥ë¤Î
791 .I st_ctime
792 ¤È
793 .I st_mtime
794 ¥Õ¥£¡¼¥ë¥É¤¬¸½ºß»þ¹ï¤ËÀßÄꤵ¤ì¤ë¡£
795 .SS O_DIRECT
796 .LP
797 .B O_DIRECT
798 ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥æ¡¼¥¶¶õ´Ö¥Ð¥Ã¥Õ¥¡¤ÎŤµ¤ä¥¢¥É¥ì¥¹¡¢
799 I/O ¤Î¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤Ë´Ø¤·¤Æ¥¢¥é¥¤¥ó¥á¥ó¥È¤ÎÀ©¸Â¤¬²Ý¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¡£
800 Linux ¤Ç¤Ï¡¢¥¢¥é¥¤¥ó¥á¥ó¥È¤ÎÀ©¸Â¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ä¥«¡¼¥Í¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë
801 ¤è¤Ã¤Æ°Û¤Ê¤ê¡¢Á´¤¯À©¸Â¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤â¤¢¤ë¡£
802 ¤·¤«¤·¤Ê¤¬¤é¡¢¸½ºß¤Î¤È¤³¤í¡¢»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ä¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂФ·¤Æ
803 ¤³¤¦¤·¤¿À©¸Â¤¬¤¢¤ë¤«¤ò¸«¤Ä¤±¤ë¤¿¤á¤Î¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¸þ¤±¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç
804 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÈó°Í¸¤Î¤â¤Î¤Ï¸ºß¤·¤Ê¤¤¡£
805 ¤¤¤¯¤Ä¤«¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢À©¸Â¤ò³Îǧ¤¹¤ë¤¿¤á¤ÎÆȼ«¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬
806 Ä󶡤µ¤ì¤Æ¤¤¤ë¡£Î㤨¤Ð¡¢
807 .BR xfsctl (3)
808 ¤Î
809 .B XFS_IOC_DIOINFO
810 Ì¿Îá¤Ç¤¢¤ë¡£
811 .LP
812 Linux 2.4 ¤Ç¤Ï¡¢Å¾Á÷¥µ¥¤¥º¡¢
813 ¥æ¡¼¥¶¡¼¥Ð¥Ã¥Õ¥¡¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¡¢¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤Ï¡¢
814 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÏÀÍý¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
815 Linux 2.6 ¤Ç¤Ï¡¢512 ¥Ð¥¤¥È¤´¤È¤Î¶­³¦¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ì¤Ð½¼Ê¬¤Ç¤¢¤ë¡£
816 .LP
817 .B O_DIRECT
818 ¥Õ¥é¥°¤Ï  SGI IRIX ¤ÇƳÆþ¤µ¤ì¤¿¡£SGI IRIX ¤Ë¤â Linux 2.4 ¤ÈƱÍͤÎ
819 (¥æ¡¼¥¶¡¼¥Ð¥Ã¥Õ¥¡¤Î) ¥¢¥é¥¤¥ó¥á¥ó¥È¤ÎÀ©¸Â¤¬¤¢¤ë¡£
820 ¤Þ¤¿¡¢IRIX ¤Ë¤ÏŬÀÚ¤ÊÇÛÃ֤ȥµ¥¤¥º¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î
821 .BR fcntl (2)
822 ¥³¡¼¥ë¤¬¤¢¤ë¡£
823 FreeBSD 4.x ¤âƱ¤¸Ì¾Á°¤Î¥Õ¥é¥°¤òƳÆþ¤·¤¿¤¬¡¢¥¢¥é¥¤¥ó¥á¥ó¥È¤ÎÀ©¸Â¤Ï¤Ê¤¤¡£
824 .LP
825 .B O_DIRECT
826 ¤¬ Linux ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤¿¤Î¤Ï¡¢¥«¡¼¥Í¥ë¥Ð¡¼¥¸¥ç¥ó 2.4.10 ¤Ç¤¢¤ë¡£
827 ¸Å¤¤ Linux ¥«¡¼¥Í¥ë¤Ï¡¢¤³¤Î¥Õ¥é¥°¤òñ¤Ë̵»ë¤¹¤ë¡£
828 .B O_DIRECT
829 ¥Õ¥é¥°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤â¤¢¤ê¡¢¤½¤Î¾ì¹ç¤Ï¡¢
830 .B O_DIRECT
831 ¤ò»ÈÍѤ¹¤ë¤È
832 .BR open ()
833 ¤Ï
834 .B EINVAL
835 ¤Ç¼ºÇÔ¤¹¤ë¡£
836 .LP
837 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢Æ±¤¸¥Õ¥¡¥¤¥ë¡¢
838 ÆäËƱ¤¸¥Õ¥¡¥¤¥ë¤Î½ÅÊ£¤¹¤ë¥Ð¥¤¥ÈÎΰè¤ËÂФ·¤Æ¡¢
839 .B O_DIRECT
840 ¤ÈÄ̾ï¤Î I/O ¤òº®¤¼¤Æ»È¤¦¤Î¤ÏÈò¤±¤ë¤Ù¤­¤Ç¤¢¤ë¡£
841 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ë¤ª¤¤¤Æ°ì´ÓÀ­¤ÎÌäÂê¤òÀµ¤·¤¯
842 °·¤¦¤³¤È¤¬¤Ç¤­¤ë¾ì¹ç¤Ç¤¢¤Ã¤Æ¤â¡¢Á´ÂΤΠI/O ¥¹¥ë¡¼¥×¥Ã¥È¤Ï
843 ¤É¤Á¤é¤«°ìÊý¤ò»ÈÍѤ¹¤ë¤È¤­¤ÈÈæ¤Ù¤ÆÄ㮤ˤʤë¤Ç¤¢¤í¤¦¡£
844 ƱÍͤˡ¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢Æ±¤¸¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ
845 .BR mmap (2)
846 ¤ÈľÀÜ I/O
847 .RB ( O_DIRECT )
848 ¤òº®¤¼¤Æ»È¤¦¤Î¤âÈò¤±¤ë¤Ù¤­¤Ç¤¢¤ë¡£
849 .LP
850 NFS ¤Ç
851 .B O_DIRECT
852 ¤ò»È¤Ã¤¿¾ì¹ç¤ÎÆ°ºî¤Ï¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¾ì¹ç¤È°ã¤¦¡£
853 ¸Å¤¤¥«¡¼¥Í¥ë¤ä¡¢¤¢¤ë¼ï¤ÎÀßÄê¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥«¡¼¥Í¥ë¤Ï¡¢
854 .B O_DIRECT
855 ¤È NFS ¤ÎÁȤ߹ç¤ï¤»¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£
856 NFS ¥×¥í¥È¥³¥ë¼«ÂΤϥµ¡¼¥Ð¤Ë¥Õ¥é¥°¤òÅϤ¹µ¡Ç½¤Ï»ý¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢
857 .B O_DIRECT
858 I/O ¤Ï¥¯¥é¥¤¥¢¥ó¥È¾å¤Î¥Ú¡¼¥¸¥­¥ã¥Ã¥·¥å¤ò¥Ð¥¤¥Ñ¥¹¤¹¤ë¤À¤±¤Ë¤Ê¤ê¡¢
859 ¥µ¡¼¥Ð¤Ï I/O ¤ò¥­¥ã¥Ã¥·¥å¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
860 ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
861 .B O_DIRECT
862 ¤ÎƱ´üµ¡¹½¤òÊÝ»ý¤¹¤ë¤¿¤á¡¢¥µ¡¼¥Ð¤ËÂФ·¤Æ I/O ¤òƱ´ü¤·¤Æ¹Ô¤¦¤è¤¦¤Ë°ÍÍꤹ¤ë¡£
863 ¥µ¡¼¥Ð¤Ë¤è¤Ã¤Æ¤Ï¡¢¤³¤¦¤·¤¿¾õ¶·²¼¡¢ÆäˠI/O ¥µ¥¤¥º¤¬¾®¤µ¤¤¾ì¹ç¤Ë
864 À­Ç½¤¬Â礭¤¯Îô²½¤¹¤ë¡£
865 ¤Þ¤¿¡¢¥µ¡¼¥Ð¤Ë¤è¤Ã¤Æ¤Ï¡¢I/O ¤¬°ÂÄꤷ¤¿¥¹¥È¥ì¡¼¥¸¤Ë¤Þ¤Ç¹Ô¤ï¤ì¤¿¤È¡¢
866 ¥¯¥é¥¤¥¢¥ó¥È¤ËÂФ·¤Æ±³¤ò¤Ä¤¯¤â¤Î¤â¤¢¤ë¡£
867 ¤³¤ì¤Ï¡¢¥µ¡¼¥Ð¤ÎÅŸ»¸Î¾ã¤¬µ¯¤³¤Ã¤¿ºÝ¤Ë¥Ç¡¼¥¿¤Î´°Á´À­¤¬Êݤ¿¤ì¤Ê¤¤
868 ´í¸±¤Ï¾¯¤·¤¢¤ë¤¬¡¢À­Ç½Ì̤ǤÎÉÔÍø¤Ê¾ò·ï¤ò²óÈò¤¹¤ë¤¿¤á¤Ë¹Ô¤ï¤ì¤Æ¤¤¤ë¡£
869 Linux ¤Î NFS ¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï
870 .B O_DIRECT
871 I/O 
872 ¤Ç¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤ÎÀ©¸Â¤Ï¤Ê¤¤¡£
873 .PP
874 ¤Þ¤È¤á¤ë¤È¡¢
875 .B O_DIRECT
876 ¤Ï¡¢Ãí°Õ¤·¤Æ»È¤¦¤Ù¤­¤Ç¤¢¤ë¤¬¡¢¶¯ÎϤʥġ¼¥ë¤È¤Ê¤ë²ÄǽÀ­¤ò»ý¤Ã¤Æ¤¤¤ë¡£
877 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï
878 .B O_DIRECT
879 ¤ò¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ëÀ­Ç½¸þ¾å¤Î¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤È
880 ¹Í¤¨¤Æ¤ª¤¯¤Î¤¬¤è¤¤¤Ç¤¢¤í¤¦¡£
881 .PP
882 .RS
883 ¡ÖO_DIRECT ¤Ç¤¤¤Ä¤âº¤¤ë¤Î¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹Á´Éô¤¬ËÜÅö¤Ë¤ªÇϼ¯¤ÊÅÀ¤À¡£
884 ¤¿¤Ö¤ó´í¤Ê¤¤¥Þ¥¤¥ó¥É¥³¥ó¥È¥í¡¼¥ëºÞ¤Ç
885 Ƭ¤¬¤ª¤«¤·¤¯¤Ê¤Ã¤¿¥µ¥ë¤¬À߷פ·¤¿¤ó¤¸¤ã¤Ê¤¤¤«¤Ê¡× \(em Linus
886 .RE
887 .SH ¥Ð¥°
888 ¸½ºß¤Î¤È¤³¤í¡¢
889 .BR open ()
890 ¤Î¸Æ¤Ó½Ð¤·»þ¤Ë
891 .B O_ASYNC
892 ¤ò»ØÄꤷ¤Æ¥·¥°¥Ê¥ë¶îÆ° I/O ¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
893 ¤³¤Î¥Õ¥é¥°¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï
894 .BR fcntl (2)
895 ¤ò»ÈÍѤ¹¤ë¤³¤È¡£
896 .\" FIXME . Check bugzilla report on open(O_ASYNC)
897 .\" See http://bugzilla.kernel.org/show_bug.cgi?id=5993
898 .SH ´ØÏ¢¹àÌÜ
899 .BR chmod (2),
900 .BR chown (2),
901 .BR close (2),
902 .BR dup (2),
903 .BR fcntl (2),
904 .BR link (2),
905 .BR lseek (2),
906 .BR mknod (2),
907 .BR mmap (2),
908 .BR mount (2),
909 .BR openat (2),
910 .BR read (2),
911 .BR socket (2),
912 .BR stat (2),
913 .BR umask (2),
914 .BR unlink (2),
915 .BR write (2),
916 .BR fopen (3),
917 .BR feature_test_macros (7),
918 .BR fifo (7),
919 .BR path_resolution (7),
920 .BR symlink (7)