OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / draft / man3 / popen.3
index 973bbdb..3706492 100644 (file)
 .TH POPEN 3  2010-02-03 "GNU" "Linux Programmer's Manual"
 .\"O .SH NAME
 .\"O popen, pclose \- pipe stream to or from a process
-.SH Ì¾Á°
-popen, pclose \- ¥×¥í¥»¥¹¤È¤ÎÆþÎÏ/½ÐÎÏÍѤΥѥ¤¥×¡¦¥¹¥È¥ê¡¼¥à
+.SH 名前
+popen, pclose \- プロセスとの入力/出力用のパイプ・ストリーム
 .\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
 .nf
 .B #include <stdio.h>
 .sp
@@ -59,9 +59,9 @@ popen, pclose \- 
 .in -4n
 .\"O Feature Test Macro Requirements for glibc (see
 .\"O .BR feature_test_macros (7)):
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
 .RB ( feature_test_macros (7)
-»²¾È):
+参照):
 .ad l
 .in
 .sp
@@ -72,7 +72,7 @@ _POSIX_C_SOURCE\ >=\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE
 .RE
 .ad b
 .\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
 .\"O The
 .\"O .BR popen ()
 .\"O function opens a process by creating a pipe, forking, and invoking the
@@ -82,14 +82,14 @@ _POSIX_C_SOURCE\ >=\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE
 .\"O argument may specify only reading or writing, not both; the resulting
 .\"O stream is correspondingly read-only or write-only.
 .BR popen ()
-´Ø¿ô¤Ï¡¢¥×¥í¥»¥¹¤ò¥ª¡¼¥×¥ó¤¹¤ë¡£¶ñÂÎŪ¤Ë¤Ï¡¢
-¥Ñ¥¤¥×¤òÀ¸À®¤·¡¢¥Õ¥©¡¼¥¯¤ò¹Ô¤¤¡¢¥·¥§¥ë¤òµ¯Æ°¤¹¤ë¡£
-ÄêµÁ¤«¤éʬ¤«¤ë¤è¤¦¤Ë¡¢¥Ñ¥¤¥×¤Ï°ìÊý¸þ¤Ê¤Î¤Ç¡¢
+関数は、プロセスをオープンする。具体的には、
+パイプを生成し、フォークを行い、シェルを起動する。
+定義から分かるように、パイプは一方向なので、
 .I type
-°ú¤­¿ô¤Ë¤ÏÆɤ߹þ¤ß¤«½ñ¤­¹þ¤ß¤Î¤É¤Á¤é¤«°ìÊý¤À¤±¤ò»ØÄê¤Ç¤­¤ë
-(ξÊý¤Ï»ØÄê¤Ç¤­¤Ê¤¤)¡£
-À¸À®¤µ¤ì¤ë¥¹¥È¥ê¡¼¥à¤Ï¡¢¤³¤Î»ØÄê¤ËÂбþ¤·¤Æ¡¢Æɤ߼è¤êÀìÍѤޤ¿¤Ï
-½ñ¤­¹þ¤ßÀìÍѤΤ¤¤º¤ì¤«¤È¤Ê¤ë¡£
+引き数には読み込みか書き込みのどちらか一方だけを指定できる
+(両方は指定できない)。
+生成されるストリームは、この指定に対応して、読み取り専用または
+書き込み専用のいずれかとなる。
 .PP
 .\"O The
 .\"O .I command
@@ -105,18 +105,18 @@ _POSIX_C_SOURCE\ >=\ 2 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE
 .\"O argument is a pointer to a null-terminated string which must contain
 .\"O either the letter \(aqr\(aq for reading or the letter \(aqw\(aq for writing.
 .I command
-°ú¤­¿ô¤Ï¡¢¥·¥§¥ë¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤ò´Þ¤à
-NULL ½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-¤³¤Î¥³¥Þ¥ó¥É¤Ï
+引き数は、シェルのコマンドラインを含む
+NULL 終端された文字列へのポインタである。
+このコマンドは
 .B \-c
-¥Õ¥é¥°¤òÍѤ¤¤Æ
+フラグを用いて
 .I /bin/sh
-¤ËÅϤµ¤ì¤ë¡£
-¥³¥Þ¥ó¥É¤Î²ò¼á¤Ï (¤â¤·É¬Íפʤé¤Ð) ¥·¥§¥ë¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£
+に渡される。
+コマンドの解釈は (もし必要ならば) シェルによって行われる。
 .I type
-°ú¤­¿ô¤Ï¡¢NULL ½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¡¢
-Æɤ߹þ¤ß¤ò¼¨¤¹Ê¸»ú \(aqr\(aq ¤«¡¢½ñ¤­¹þ¤ß¤ò¼¨¤¹Ê¸»ú \(aqw\(aq ¤Î
-¤É¤Á¤é¤«°ìÊý¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+引き数は、NULL 終端された文字列へのポインタで、
+読み込みを示す文字 \(aqr\(aq か、書き込みを示す文字 \(aqw\(aq の
+どちらか一方を指定しなければならない。
 .\"O Since glibc 2.9,
 .\"O this argument can additionally include the letter \(aqe\(aq,
 .\"O which causes the close-on-exec flag
@@ -127,17 +127,17 @@ NULL 
 .\"O flag in
 .\"O .BR open (2)
 .\"O for reasons why this may be useful.
-glibc 2.9 °Ê¹ß¤Ç¤Ï¡¢¤³¤Î°ú¤­¿ô¤Ëʸ»ú \(aqe\(aq ¤òÄɲäǻØÄê¤Ç¤­¤ë¡£
-ʸ»ú \(aqe\(aq ¤ò»ØÄꤹ¤ë¤È¡¢
-Âбþ¤¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ë¤ª¤¤¤Æ¡¢
-close-on-exec ¥Õ¥é¥°
+glibc 2.9 以降では、この引き数に文字 \(aqe\(aq を追加で指定できる。
+文字 \(aqe\(aq を指定すると、
+対応するファイルディスクリプタにおいて、
+close-on-exec ã\83\95ã\83©ã\82°
 .RB ( FD_CLOEXEC )
-¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£
-¤³¤ì¤¬Ìò¤ËΩ¤ÄÍýͳ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+がセットされる。
+これが役に立つ理由については、
 .BR open (2)
-¤Î
+の
 .B O_CLOEXEC
-¥Õ¥é¥°¤ÎÀâÌÀ¤ò»²¾È¤Î¤³¤È¡£
+フラグの説明を参照のこと。
 .PP
 .\"O The return value from
 .\"O .BR popen ()
@@ -147,11 +147,11 @@ close-on-exec 
 .\"O rather than
 .\"O .BR fclose (3).
 .BR popen ()
-¤«¤é¤ÎÊÖ¤êÃͤϡ¢Ä̾ï¤Îɸ½à I/O ¥¹¥È¥ê¡¼¥à¤ÈƱ¤¸¤Ç¤¢¤ë¤¬¡¢
+からの返り値は、通常の標準 I/O ストリームと同じであるが、
 .BR fclose (3)
-¤Ç¤Ï¤Ê¤¯
+ではなく
 .BR pclose ()
-¤ÇÊĤ¸¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤³¤È¤À¤±¤¬°Û¤Ê¤ë¡£
+で閉じなくてはならないことだけが異なる。
 .\"O Writing to such a stream writes to the standard input of the command; the
 .\"O command's standard output is the same as that of the process that called
 .\"O .BR popen (),
@@ -160,25 +160,25 @@ close-on-exec 
 .\"O "popened" stream reads the command's standard output, and the command's
 .\"O standard input is the same as that of the process that called
 .\"O .BR popen ().
-¤³¤Î¥¹¥È¥ê¡¼¥à¤Ø½ñ¤­¹þ¤ó¤À·ë²Ì¤Ï¥³¥Þ¥ó¥É¤Îɸ½àÆþÎϤ˽ñ¤­¹þ¤Þ¤ì¤ë¡£
-¤½¤·¤Æ¡¢¥³¥Þ¥ó¥É¤Îɸ½à½ÐÎϤϡ¢
-¥³¥Þ¥ó¥É¤½¤Î¤â¤Î¤¬ÃÖ¤­´¹¤ï¤Ã¤Æ¤·¤Þ¤ï¤Ê¤¤¸Â¤ê¡¢
+このストリームへ書き込んだ結果はコマンドの標準入力に書き込まれる。
+そして、コマンドの標準出力は、
+コマンドそのものが置き換わってしまわない限り、
 .BR popen ()
-¤ò¸Æ¤ó¤À¥×¥í¥»¥¹¤Îɸ½à½ÐÎϤÈƱ¤¸¤³¤È¤Ë¤Ê¤ë¡£
-µÕ¤Ë¡¢"popened"
+を呼んだプロセスの標準出力と同じことになる。
+逆に、"popened"
 .RB ( popen ()
-¤Ë¤è¤Ã¤Æ³«¤«¤ì¤¿) ¥¹¥È¥ê¡¼¥à¤«¤é¤ÎÆɤ߹þ¤ß¤Ï¡¢
-¤½¤Î¥³¥Þ¥ó¥É¤Îɸ½à½ÐÎϤòÆɤ߹þ¤à¤³¤È¤Ë¤Ê¤ë¡£
-¤½¤·¤Æ¡¢¤½¤Î¥³¥Þ¥ó¥É¤Îɸ½àÆþÎϤÏ
+によって開かれた) ストリームからの読み込みは、
+そのコマンドの標準出力を読み込むことになる。
+そして、そのコマンドの標準入力は
 .BR popen ()
-¤ò¸Æ¤ó¤À¥×¥í¥»¥¹¤Îɸ½àÆþÎϤÈƱ°ì¤Ç¤¢¤ë¡£
+を呼んだプロセスの標準入力と同一である。
 .PP
 .\"O Note that output
 .\"O .BR popen ()
 .\"O streams are fully buffered by default.
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
+デフォルトでは、
 .BR popen ()
-¤Î½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ï´°Á´¤Ë¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤è¤¦¡£
+の出力ストリームは完全にバッファリングされることに注意しよう。
 .PP
 .\"O The
 .\"O .BR pclose ()
@@ -186,11 +186,11 @@ close-on-exec 
 .\"O status of the command as returned by
 .\"O .BR wait4 (2).
 .BR pclose ()
-´Ø¿ô¤Ï¡¢(¥Ñ¥¤¥×¤Ë) ´ØÏ¢¤Å¤±¤é¤ì¤¿¥×¥í¥»¥¹¤¬½ªÎ»¤¹¤ë¤Î¤òÂÔ¤Á¡¢
+関数は、(パイプに) 関連づけられたプロセスが終了するのを待ち、
 .BR wait4 (2)
-¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿¥³¥Þ¥ó¥É¤Î½ªÎ»¾õÂÖ¤òÊÖ¤¹¡£
+によって返されたコマンドの終了状態を返す。
 .\"O .SH "RETURN VALUE"
-.SH ÊÖ¤êÃÍ
+.SH 返り値
 .\"O The
 .\"O .BR popen ()
 .\"O function returns NULL if the
@@ -199,12 +199,12 @@ close-on-exec 
 .\"O .BR pipe (2)
 .\"O calls fail, or if it cannot allocate memory.
 .BR popen ()
-´Ø¿ô¤Ï¡¢
+関数は、
 .BR fork (2)
-¤Þ¤¿¤Ï
+または
 .BR pipe (2)
-¸Æ¤Ó½Ð¤·¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤ä¡¢
-¥á¥â¥ê³ä¤êÅö¤Æ¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ NULL ¤òÊÖ¤¹¡£
+呼び出しが失敗した場合や、
+メモリ割り当てができなかった場合、 NULL を返す。
 .PP
 .\"O The
 .\"O .BR pclose ()
@@ -218,12 +218,12 @@ close-on-exec 
 .\"O .BR wait4 (2)
 .\"O returns an error, or some other error is detected.
 .BR pclose ()
-´Ø¿ô¤Ï¡¢
+関数は、
 .BR wait4 (2)
-¤¬¥¨¥é¡¼¤òÊÖ¤·¤¿¤ê¡¢²¿¤«Â¾¤Î¥¨¥é¡¼¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢
-\-1 ¤òÊÖ¤¹¡£
+がエラーを返したり、何か他のエラーが見つかった場合、
+\-1 を返す。
 .\"O .SH ERRORS
-.SH ¥¨¥é¡¼
+.SH ã\82¨ã\83©ã\83¼
 .\"O The
 .\"O .BR popen ()
 .\"O function does not set
@@ -243,24 +243,24 @@ close-on-exec 
 .\"O is set to
 .\"O .BR EINVAL .
 .BR popen ()
-´Ø¿ô¤Ï¡¢¥á¥â¥ê¥¢¥í¥±¡¼¥·¥ç¥ó¤Ë¼ºÇÔ¤·¤Æ¤â
+関数は、メモリアロケーションに失敗しても
 .I errno
-¤ò¥»¥Ã¥È¤·¤Ê¤¤¡£
+をセットしない。
 .BR popen ()
-¤¬Ãæ¤Ç¸Æ¤Ó½Ð¤¹
+が中で呼び出す
 .BR fork (2)
-¤ä
+や
 .BR pipe (2)
-¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¡¢
+が失敗した場合には、
 .I errno
-¤¬Å¬Àڤ˥»¥Ã¥È¤µ¤ì¤ë¡£
-°ú¤­¿ô
+が適切にセットされる。
+引き数
 .I type
-¤¬Ìµ¸ú¤Ç¤¢¤ê¡¢¤³¤Î¾õÂÖ¤¬¸¡ÃΤµ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢
+が無効であり、この状態が検知された場合には、
 .I errno
-¤¬
+が
 .B EINVAL
-¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£
+にセットされる。
 .PP
 .\"O If
 .\"O .BR pclose ()
@@ -269,22 +269,22 @@ close-on-exec 
 .\"O is set to
 .\"O .BR ECHILD .
 .BR pclose ()
-¤¬¡¢»Ò¥×¥í¥»¥¹¤Î¾õÂÖ¤ò¼èÆÀ¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
+が、子プロセスの状態を取得できなかった場合、
 .I errno
-¤¬
+が
 .B ECHILD
-¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£
+にセットされる。
 .\"O .SH "CONFORMING TO"
-.SH ½àµò
+.SH 準拠
 POSIX.1-2001.
 
 .\"O The \(aqe\(aq value for
 .\"O .I type
 .\"O is a Linux extension.
 .I type
-¤Ë»ØÄê¤Ç¤­¤ë \(aqe\(aq ¤Ï Linux ¤Ç¤Î³ÈÄ¥¤Ç¤¢¤ë¡£
+に指定できる \(aqe\(aq は Linux での拡張である。
 .\"O .SH BUGS
-.SH ¥Ð¥°
+.SH ã\83\90ã\82°
 .\"O Since the standard input of a command opened for reading shares its seek
 .\"O offset with the process that called
 .\"O .BR popen (),
@@ -297,40 +297,40 @@ POSIX.1-2001.
 .\"O .BR fflush (3)
 .\"O before
 .\"O .BR popen ().
-Æɤ߹þ¤ß¤Î¤¿¤á¤Ë³«¤«¤ì¤¿¥³¥Þ¥ó¥É¤Îɸ½àÆþÎϤÏ
+読み込みのために開かれたコマンドの標準入力は
 .BR popen (),
-¤ò¸Æ¤ó¤À¥×¥í¥»¥¹¤È°ì½ï¤Ë¡¢¤½¤ÎÆɤ߼è¤ê°ÌÃÖ¤ò¶¦Í­¤¹¤ë¡£
-¤½¤Î¤¿¤á¡¢¤â¤È¤Î¥×¥í¥»¥¹¤¬¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤µ¤ì¤¿Æɤ߼è¤ê¤ò½ªÎ»¤·¤¿¤é¡¢
-¤½¤Î¥³¥Þ¥ó¥É¤ÎÆþÎÏ°ÌÃÖ¤ÏͽÁÛ¤µ¤ì¤¿¤â¤Î¤Ë¤Ï
-¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£
-ƱÍͤˡ¢½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë³«¤«¤ì¤¿¥³¥Þ¥ó¥É¤«¤é¤Î½ÐÎϤϡ¢
-¤â¤È¤Î¥×¥í¥»¥¹¤Î½ÐÎϤȺ®¤¶¤ê¹ç¤¦¤³¤È¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
-¸å¼Ô¤Ï
+を呼んだプロセスと一緒に、その読み取り位置を共有する。
+そのため、もとのプロセスがバッファリングされた読み取りを終了したら、
+そのコマンドの入力位置は予想されたものには
+なっていないかもしれない。
+同様に、書き込みのために開かれたコマンドからの出力は、
+もとのプロセスの出力と混ざり合うことになるかもしれない。
+後者は
 .BR popen ()
-¤ÎÁ°¤Ë
+の前に
 .BR fflush (3)
-¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ²óÈò²Äǽ¤Ç¤¢¤ë¡£
+を呼び出すことによって回避可能である。
 .PP
 .\"O Failure to execute the shell is indistinguishable from the shell's failure
 .\"O to execute command, or an immediate exit of the command.
 .\"O The only hint is an exit status of 127.
-¥·¥§¥ë¤Î¼Â¹Ô¤Î¼ºÇԤϡ¢
-¥·¥§¥ë¤¬¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤Ë¼ºÇÔ¤·¤¿¤³¤È¤ä¡¢
-¥³¥Þ¥ó¥É¤¬¤¹¤°¤Ë½ªÎ»¤·¤Æ¤·¤Þ¤Ã¤¿¤³¤È¤È¡¢¶èÊ̤¬¤Ä¤«¤Ê¤¤¡£
-Í£°ì¤Î¥Ò¥ó¥È¤Ï½ªÎ»¾õÂÖ¤¬ 127 ¤Ë¤Ê¤ë¤³¤È¤Ç¤¢¤ë¡£
+シェルの実行の失敗は、
+シェルがコマンドの実行に失敗したことや、
+コマンドがすぐに終了してしまったことと、区別がつかない。
+唯一のヒントは終了状態が 127 になることである。
 .\"O .\" .SH HISTORY
-.\" .SH ÍúÎò
+.\" .SH 履歴
 .\"O .\" A
 .\"O .\" .BR popen ()
 .\"O .\" and a
 .\"O .\" .BR pclose ()
 .\"O .\" function appeared in Version 7 AT&T UNIX.
 .\" .BR popen ()
-.\" ´Ø¿ô¤È
+.\" 関数と
 .\" .BR pclose ()
-.\" ´Ø¿ô¤Ï AT&T UNIX ¤Î Version 7 ¤«¤éƳÆþ¤µ¤ì¤¿¡£
+.\" 関数は AT&T UNIX の Version 7 から導入された。
 .\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR sh (1),
 .BR fork (2),
 .BR pipe (2),