POPEN
Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (3)
Updated: 1998³â 4¿ù 7ÀÏ
Index
Return to Main Contents
À̸§
popen, pclose - ÇÁ·Î¼¼½º I/O
»ç¿ë¹ý
#include <stdio.h>
FILE *popen(const char *command, const char *type);
int pclose(FILE *stream);
¼³¸í
popen()
ÇÔ¼ö´Â pipe, fork¿¡ ÀÇÇØ »ý¼ºµÈ ÇÁ·Î¼¼½º¸¦ ¿°í shellÀ» ±âµ¿ÇÑ´Ù.
pipe´Â ´Ü ¹æÇâÀ¸·Î Á¤ÀǵǾú±â ¶§¹®¿¡,
type
ÀÎÀÚ´Â Àбâ-¾²±â°¡ ¾Æ´Ï¶ó µÑÁß Çϳª¸¸ ÁöÁ¤ÇÑ´Ù.; °á°ú ½ºÆ®¸²Àº Àбâ-Àü¿ëÀ̰ųª ¾²±â-Àü¿ëÀÌ´Ù.
command
ÀÎÀÚ´Â shell ¸í·É¾î ¶óÀÎÀÌ Æ÷ÇÔÇÏ´Â null·Î Á¾·áµÈ ¹®ÀÚ¿¿¡ ´ëÇÑ Æ÷ÀÎÅÍÀÌ´Ù.
ÀÌ ¸í·É¾î´Â
-c
Ç÷¡±×¸¦ »ç¿ëÇÏ¿©
/bin/sh
¿¡ Àü´ÞµÈ´Ù.; ¸¸ÀÏ ÀÎÀÚ°¡ ÀÖ´Ù¸é, Çؼ®Àº shell¿¡ ÀÇÇØ ÇàÇØÁø´Ù.
mode
ÀÎÀÚ´Â Àб⸦ À§ÇÑ 'r'À̳ª ¾²±â¸¦ À§ÇÑ 'w'Áß ÇϳªÀÎ null·Î Á¾·áµÈ ¹®ÀÚ¿¿¡ ´ëÇÑ Æ÷ÀÎÅÍÀÌ´Ù.
popen()
¿¡¼ ¹Ýȯ °ªÀº
fclose()º¸´Ù
pclose()
·Î Á¾·áµÇ¾î¾ß ÇÏ´Â º¸Åë Ç¥ÁØ I/O ½ºÆ®¸²ÀÌ´Ù.
±×·± ½ºÆ®¸²¿¡ ¾²´Â°ÍÀº ¸í·É¾îÀÇ Ç¥ÁØ ÀԷ¿¡ ¾²´Â°Í°ú °°´Ù;¸í·É¾îÀÇ Ç¥ÁØ Ãâ·ÂÀº ¸¸ÀÏ ÀÌ°ÍÀÌ ¸í·É¾î ÀÚü¿¡ ÀÇÇØ ¼öÁ¤µÇÁö ¾Ê¾Ò´Ù¸é
popen()ÀÌ
È£ÃâÇÏ´Â ÇÁ·Î¼¼½ºÀÇ °Í°ú °°´Ù. ´ëÁ¶ÀûÀ¸·Î,
``popened'' ½ºÆ®¸²¿¡¼ Àбâ´Â ¸í·É¾îÀÇ Ç¥ÁØ Ãâ·ÂÀ» Àаí, ¸í·É¾î Ç¥ÁØ ÀÔ·ÂÀº
popenÀ»
È£ÃâÇÑ ÇÁ·Î¼¼½ºÀÇ °Í°ú °°´Ù.
popen
½ºÆ®¸²Àº ±âº»ÀûÀ¸·Î ¿ÏÀü ¹öÆ۵ȴٴ Á¡¿¡ ÁÖÀÇÇضó.
pclose
ÇÔ¼ö´Â Á¾·áµÇ´Â °ü·Ã ÇÁ·Î¼¼½º¸¦ ±â´Ù¸®¸ç
wait4°¡
¹ÝȯÇÏ´Â °Íó·³ ¸í·É¾îÀÇ Á¾·á »óŸ¦ ¹ÝȯÇÑ´Ù.
¹Ýȯ°ª
popen
ÇÔ¼ö´Â ¸¸ÀÏ
fork(2)
³ª
pipe(2)
È£ÃâÀÌ ½ÇÆÐÇϰųª ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ¼ö ¾ø´Ù¸é,
NULL
À» ¹ÝȯÇÑ´Ù.
pclose
ÇÔ¼ö´Â
¸¸ÀÏ
wait4
°¡ ¿¡·¯¸¦ ¹ÝȯÇϰųª ¸î¸î ´Ù¸¥ ¿¡·¯°¡ ¹ß°ßµÇ¸é -1À» ¸®ÅÏÇÑ´Ù.
¿¡·¯
popen
ÇÔ¼ö´Â ¸¸ÀÏ ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇÑ´Ù¸é,
errno
¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â´Ù.
fork() ³ª pipe()
¿¡¼ ½ÇÆÐÇÑ´Ù¸é,
errno
´Â Àû´çÈ÷ ¼³Á¤µÈ´Ù.
¸¸ÀÏ
mode
ÀÎÀÚ°¡ ¹«È¿ÇÏ°í, ÀÌ Á¶°ÇÀÌ ¹ß°ßµÈ´Ù¸é,
errno
´Â
EINVAL·Î
¼³Á¤µÈ´Ù.
¸¸ÀÏ
pclose()
°¡ ÀÚ½Ä »óŸ¦ ¾òÀ»¼ö ¾ø´Ù¸é,
errno
´Â
ECHILD·Î
¼³Á¤µÈ´Ù.
ȣȯ
POSIX.2
¹ö±×
Àбâ À§ÇØ ¿·ÁÁø ¸í·É¾îÀÇ Ç¥ÁØ ÀÔ·ÂÀº
popen()À»
È£ÃâÇÏ´Â ÇÁ·Î¼¼½º°¡ °¡Áö°í ÀÖ´Â offsetÀ» °øÀ¯Çϱ⠶§¹®¿¡, ¸¸ÀÏ ¿ø·¡ ÇÁ·Î¼¼½º°¡ ¹öÆÛµÈ Àб⸦ ÇÑ´Ù¸é,
¸í·É¾îÀÇ ÀÔ·Â À§Ä¡´Â ¿¹»óµÉ¼ö ¾ø´Ù. ºñ½ÁÇÏ°Ô ¾²±â À§ÇØ ¿·ÁÁø ¸í·É¾î¿¡¼ÀÇ Ãâ·ÂÀº ¿ø·¡ ÇÁ·Î¼¼½ºÀÇ
°Í°ú ¼¯Àϼö ÀÖ´Ù. µÚÀÇ ¹®Á¦´Â
popenÀü¿¡
fflush(3)¸¦
È£ÃâÇÏ¿© ÇÇÇÒ¼ö ÀÖ´Ù.
shell ½ÇÇà½Ã ½ÇÆд ¸í·É¾î ½ÇÇàÀÇ shell½ÇÆгª ¸í·É¾îÀÇ Á¾·á¿Í ±¸º°µÇ¾î¾ß ÇÑ´Ù.
À¯ÀÏÇÑ ÈùÆ®´Â 127 exit »óÅÂÀÌ´Ù.
¿ª»ç
popen()
¿Í
pclose()
ÇÔ¼ö´Â Version 7 AT&T UNIX¿¡¼ ³ªÅ¸³µ´Ù.
°ü·Ã Ç׸ñ
fork(2),
sh(1),
pipe(2),
wait4(2),
fflush(3),
fclose(3),
fopen(3),
stdio(3),
system(3).
¿ªÀÚ
Á¤°ÈÆ <skyeyes@soback.kornet.net>, 2001³â 4¿ù 9ÀÏ
Index
- À̸§
-
- »ç¿ë¹ý
-
- ¼³¸í
-
- ¹Ýȯ°ª
-
- ¿¡·¯
-
- ȣȯ
-
- ¹ö±×
-
- ¿ª»ç
-
- °ü·Ã Ç׸ñ
-
- ¿ªÀÚ
-
This document was created by
man2html,
using the manual pages.
Time: 08:07:01 GMT, March 25, 2004