Submitted by: Akira Ikeuchi <a_ikeuchi@mic.mitsumi.co.jp> Reviewed by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
135 lines
4.4 KiB
Groff
135 lines
4.4 KiB
Groff
.\" Copyright (c) 1980, 1991, 1993, 1994
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)close.2 8.2 (Berkeley) 4/19/94
|
|
.\" %FreeBSD: src/lib/libc/sys/close.2,v 1.24 2004/07/02 23:52:13 ru Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd April 19, 1994
|
|
.Dt CLOSE 2
|
|
.Os
|
|
.Sh ̾¾Î
|
|
.Nm close
|
|
.Nd µ½Ò»Ò¤òºï½ü¤¹¤ë
|
|
.Sh ¥é¥¤¥Ö¥é¥ê
|
|
.Lb libc
|
|
.Sh ½ñ¼°
|
|
.In unistd.h
|
|
.Ft int
|
|
.Fn close "int d"
|
|
.Sh ²òÀâ
|
|
.Fn close
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¥×¥í¥»¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¥Æ¡¼¥Ö¥ë¤«¤éµ½Ò»Ò¤òºï½ü¤·¤Þ¤¹¡£
|
|
¤³¤ì¤¬¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤ÎºÇ¸å¤Î»²¾È¤À¤Ã¤¿¾ì¹ç¡¢
|
|
¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥¢¥¯¥Æ¥£¥Ö¤Ç¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
|
|
¤¿¤È¤¨¤Ð¡¢¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ëºÇ¸å¤Î¥¯¥í¡¼¥º¤Ç¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Ë·ë¤ÓÉÕ¤±¤é¤ì¤¿¸½ºß¤Î
|
|
.Em seek
|
|
¥Ý¥¤¥ó¥¿¤Ï¼º¤ï¤ì¤Þ¤¹¡£
|
|
.Xr socket 2
|
|
¤ËÂФ¹¤ëºÇ¸å¤Î¥¯¥í¡¼¥º¤Ç¡¢¤½¤Î¥½¥±¥Ã¥È¤Ë·ë¤ÓÉÕ¤±¤é¤ì¤¿
|
|
̿̾¾ðÊó¤ÈÂÔ¤Á¹ÔÎóÆâ¤Î¥Ç¡¼¥¿¤ÏÇË´þ¤µ¤ì¤Þ¤¹¡£
|
|
Ìä¹ç¤»·¿¥í¥Ã¥¯¤òÊÝ»ý¤·¤Æ¤¤¤ë
|
|
¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ëºÇ¸å¤Î¥¯¥í¡¼¥º¤Ç¡¢¥í¥Ã¥¯¤Ï²òÊü¤µ¤ì¤Þ¤¹
|
|
(¾ÜºÙ¤Ï
|
|
.Xr flock 2
|
|
¤ò»²¾È)¡£
|
|
¤·¤«¤·¡¢System V ¤È
|
|
.St -p1003.1-88
|
|
¤Ç¤Ï¡¢¤¢¤ë¥×¥í¥»¥¹¤¬¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆÊÝ»ý¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î
|
|
.Xr fcntl 2
|
|
Ìä¹ç¤»·¿¥ì¥³¡¼¥É¥í¥Ã¥¯¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¥Õ¥¡¥¤¥ëµ½Ò»Ò¤Î
|
|
.Em ¤¤¤º¤ì¤«
|
|
¤¬¤½¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤ÆÊĤ¸¤é¤ì¤ë¤È¤¤Ëºï½ü¤µ¤ì¤ë¡¢¤Èµ¬Äꤷ¤Æ¤¤¤Þ¤¹¡£
|
|
.Pp
|
|
¥×¥í¥»¥¹¤¬½ªÎ»¤¹¤ë¤È¤¡¢¥×¥í¥»¥¹¤Ë·ë¤ÓÉÕ¤±¤é¤ì¤¿
|
|
¥Õ¥¡¥¤¥ëµ½Ò»Ò¤Ï¤¹¤Ù¤Æ²òÊü¤µ¤ì¤Þ¤¹¡£
|
|
¤·¤«¤·¡¢¥¢¥¯¥Æ¥£¥Ö¤Êµ½Ò»Ò¤Î¸Ä¿ô¤Ë¤Ï¥×¥í¥»¥¹¤´¤È¤ËÀ©¸Â¤¬¤¢¤ë¤Î¤Ç¡¢
|
|
ÂçÎ̤Υե¡¥¤¥ëµ½Ò»Ò¤ò½èÍý¤¹¤ë¤È¤¤Ï¡¢
|
|
.Fn close
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ÊØÍø¤Ç¤¹¡£
|
|
.Pp
|
|
¥×¥í¥»¥¹¤¬¥Õ¥©¡¼¥¯¤¹¤ë¤È¤
|
|
.Pf ( Xr fork 2
|
|
»²¾È)¡¢¿·¤·¤¤»Ò¥×¥í¥»¥¹¤Îµ½Ò»Ò¤Ï¤¹¤Ù¤Æ¡¢
|
|
¥Õ¥©¡¼¥¯¤ÎÁ°¤Ë¿Æ¥×¥í¥»¥¹¤Îµ½Ò»Ò¤¬»²¾È¤·¤Æ¤¤¤¿¤Î¤ÈƱ¤¸¥ª¥Ö¥¸¥§¥¯¥È¤ò
|
|
»²¾È¤·¤Þ¤¹¡£
|
|
¼¡¤Ë¡¢¿·¤·¤¤¥×¥í¥»¥¹¤¬
|
|
.Xr execve 2
|
|
¤Ç¼Â¹Ô¤µ¤ì¤ë¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥¹¤ÏÄ̾盧¤ì¤é¤Îµ½Ò»Ò¤ò·Ñ¾µ¤·¤Þ¤¹¡£
|
|
¤Û¤È¤ó¤É¤Îµ½Ò»Ò¤Ï
|
|
.Xr execve 2
|
|
¤ÎÁ°¤Ë
|
|
.Xr dup2 2
|
|
¤ÇºÆÇÛÃÖ¤µ¤ì¤ë¤«¡¢
|
|
.Fn close
|
|
¤Çºï½ü¤µ¤ì¤Þ¤¹¡£
|
|
¤â¤· execve ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤³¤ì¤é¤Îµ½Ò»Ò¤¬É¬Íפˤʤë¤Î¤Ç¤¢¤ì¤Ð¡¢
|
|
execve ¤¬À®¸ù¤·¤¿¾ì¹ç¤Ë¤Î¤ß¡¢¤½¤ì¤é¤ò¥¯¥í¡¼¥º¤¹¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
|
|
¤³¤Î¤¿¤á¤Ë¡¢
|
|
.Dq Li fcntl(d, F_SETFD, FD_CLOEXEC)
|
|
¸Æ¤Ó½Ð¤·¤¬½àÈ÷¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
¤³¤ì¤Ï execve ¤¬À®¸ù¤·¤¿¸å¤Ç¡¢µ½Ò»Ò¤òÊĤ¸¤ë¤è¤¦¤Ë»Ø¼¨¤·¤Þ¤¹¡£
|
|
.Dq Li fcntl(d, F_SETFD, 0)
|
|
¸Æ¤Ó½Ð¤·¤Ï¤³¤ì¤ò¥Ç¥Õ¥©¥ë¥È¤ËÌᤷ¤Þ¤¹¡£
|
|
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢µ½Ò»Ò¤Ï¥¯¥í¡¼¥º¤µ¤ì¤Þ¤»¤ó¡£
|
|
.Sh Ìá¤êÃÍ
|
|
.Rv -std close
|
|
.Sh ¥¨¥é¡¼
|
|
.Fn close
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¼¡¤Î¾ì¹ç¤Ë¼ºÇÔ¤·¤Þ¤¹:
|
|
.Bl -tag -width Er
|
|
.It Bq Er EBADF
|
|
.Fa d
|
|
°ú¿ô¤¬¥¢¥¯¥Æ¥£¥Ö¤Êµ½Ò»Ò¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
|
|
.It Bq Er EINTR
|
|
³ä¤ê¹þ¤ß¤¬¼õ¿®¤µ¤ì¤Þ¤·¤¿¡£
|
|
.It Bq Er ENOSPC
|
|
²¼ÁؤΥª¥Ö¥¸¥§¥¯¥È¤È¥µ¥¤¥º¤¬¹ç¤ï¤º¡¢¥¥ã¥Ã¥·¥å¤µ¤ì¤¿¥Ç¡¼¥¿¤¬¼º¤ï¤ì¤Þ¤·¤¿¡£
|
|
.El
|
|
.Sh ´ØÏ¢¹àÌÜ
|
|
.Xr accept 2 ,
|
|
.Xr execve 2 ,
|
|
.Xr fcntl 2 ,
|
|
.Xr flock 2 ,
|
|
.Xr open 2 ,
|
|
.Xr pipe 2 ,
|
|
.Xr socket 2 ,
|
|
.Xr socketpair 2
|
|
.Sh µ¬³Ê
|
|
.Fn close
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
|
|
.St -p1003.1-90
|
|
¤ËŬ¹ç¤·¤Æ¤¤¤Þ¤¹¡£
|
|
.Sh Îò»Ë
|
|
.Fn close
|
|
´Ø¿ô¤Ï
|
|
.At v7
|
|
¤ÇÅо줷¤Þ¤·¤¿¡£
|