SEMGET
Section: Linux Programmer's Manual (2)
Updated: November 1, 1993
Index
Return to Main Contents
À̸§
semget - ¼¼¸¶Æ÷¾î ÁýÇÕ ½Äº°ÀÚ¸¦ ¾ò¾î³½´Ù.
»ç¿ë¹ý
# include <sys/types.h>
# include <sys/ipc.h>
# include <sys/sem.h>
int semget ( key_t key,
int nsems,
int semflg )
¼³¸í
ÀÌ ÇÔ¼ö´Â
key
ÀÇ °ª¿¡ ´ëÀÀÇÏ´Â ¼¼¸¶Æ÷¾î ÁýÇÕ ½Äº°ÀÚ¸¦ ¹ÝȯÇÑ´Ù.
key
ÀÇ °ªÀÌ
IPC_PRIVATE
ÀÏ °æ¿ì, ¶Ç´Â
key
ÀÇ °ªÀÌ
IPC_PRIVATE
´Â ¾Æ´ÏÁö¸¸
key
¿¡ ´ëÀÀÇÏ´Â ¼¼¸¶Æ÷¾î ÁýÇÕÀÌ ¾øÀ» °æ¿ì,
¶Ç´Â
semflg
ÀÌ
IPC_CREAT
À» Æ÷ÇÔÇÒ °æ¿ì, Áï,
semflg
°ú
IPC_CREAT
ÀÇ AND¿¬»êÀÌ 0ÀÌ ¾Æ´Ò °æ¿ì¿¡
ÇÔ¼ö´Â
nsems
°³ÀÇ
¼¼¸¶Æ÷¾î¸¦ °®´Â »õ·Î¿î ÁýÇÕÀ»
¸¸µç´Ù.
semflg
¿¡
IPC_CREAT
¿Í
IPC_EXCL
°¡ µ¿½Ã¿¡ ÄÑÁ® ÀÖ´Â °ÍÀº,
open(2)
ÇÔ¼ö ÀÇ
mode Àμö¿¡
IPC_CREAT
¿Í
IPC_EXCL
°¡ µ¿½Ã¿¡ ¼³Á¤µÇ¾î ÀÖÀ» ¶§¿Í µ¿ÀÏÇÑ ¿ªÇÒÀ» ÇÑ´Ù.
Áï,
semflag
¿¡
IPC_CREAT
¿Í
IPC_EXCL
°¡ µ¿½Ã¿¡ ¼³Á¤µÇ¾î ÀÖ°í,
key
¿¡ ÇØ´çÇÏ´Â ¼¼¸¶Æ÷¾î°¡ ÀÌ¹Ì Á¸ÀçÇÒ ¶§ ÇÔ¼ö´Â ½ÇÆÐÇÑ´Ù.
¼¼¸¶Æ÷¾î »ý¼º½Ã, Àμö
semflg
ÀÇ ³·Àº 9ºñÆ®´Â ¼¼¸¶Æ÷¾î ÁýÇÕ¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀ» Á¤ÀÇÇÑ´Ù.
Á¢±Ù ±ÇÇÑÀÇ Çü½ÄÀº
open
(2)
creat
(2) ½Ã½ºÅÛ È£ÃâÀÇ Á¢±Ù±ÇÇÑ ¼³Á¤½Ã¿Í µ¿ÀÏÇÏ´Ù.
´Ü, ½ÇÇà Çã°¡´Â ½Ã½ºÅÛ¿¡ ÀÇÇØ ÁÖ¾îÁöÁö ¾ÊÀ¸¸ç, ¼¼¸¶Æ÷¾î ÁýÇÕ¿¡ ´ëÇÑ
¾²±â±ÇÇÑÀº ½ÇÁúÀûÀ¸·Ð º¯°æ±ÇÇÑÀ» ÀǹÌÇÑ´Ù.
°Ô´Ù°¡ »ý¼º½Ã ½Ã½ºÅÛ È£ÃâÀº ½Ã½ºÅÛ ¼¼¸¶Æ÷¾î ÁýÇÕÀÇ µ¥ÀÌŸ ±¸Á¶
semid_ds
¸¦ ´ÙÀ½°ú °°ÀÌ ÃʱâÈÇÑ´Ù:
-
sem_perm.cuid
¿Í
sem_perm.uid
´Â È£ÃâÇÑ ÇÁ·Î¼¼½ºÀÇ À¯È¿ »ç¿ëÀÚ-ID·Î ¼³Á¤µÈ´Ù.
-
sem_perm.cgid
¿Í
sem_perm.gid
´Â È£ÃâÇÑ ÇÁ·Î¼¼½ºÀÇ À¯È¿ ±×·ì-ID·Î ¼³Á¤µÈ´Ù.
-
sem_perm.mode
ÀÇ °¡Àå ³·Àº 9ºñÆ®´Â
semflg
ÀÇ °¡Àå ³·Àº 9ºñÆ®·Î ¼³Á¤µÈ´Ù.
-
sem_nsems
´Â
nsems
ÀÇ °ªÀ¸·Î ¼³Á¤µÈ´Ù.
-
sem_otime
´Â 0À¸·Î ¼³Á¤µÈ´Ù.
-
sem_ctime
´Â ÇöÀç½Ã°¢À¸·Î ¼³Á¤µÈ´Ù.
Àμö
nsems
´Â ½Ã½ºÅÛÈ£ÃâÀÌ ÁýÇÕÀ» »ý¼ºÇÏÁö ¾ÊÀ» °æ¿ì¿¡´Â
0
ÀÏ ¼ö ÀÖ´Ù.
±× ¿Ü¿¡
nsems
´Â
0
º¸´Ù Å©°í semid´ç ¼¼¸¶Æ÷¾îÀÇ ÃÖ´ë°ª ÀÌÇÏÀÎ ¼öÀ̾î¾ß¸¸ ÇÑ´Ù.
(SEMMSL).
¼¼¸¶Æ÷¾î ÁýÇÕÀÌ ÀÌ¹Ì Á¸ÀçÇÑ´Ù¸é, Á¢±Ù ±ÇÇÑÀ» È®ÀÎÇÏ°í,
»èÁ¦µÉ °ÍÀ¸·Î Ç¥½ÃµÇ¾îÀÖ´ÂÁö¸¦ È®ÀÎÇÑ´Ù.
¹Ýȯ°ª
¼º°ø½Ã, ¹Ýȯ°ªÀº ¾çÀÇ Á¤¼ö°ªÀ» °®´Â ¼¼¸¶Æ÷¾î ÁýÇÕ ½Äº°ÀÚÀÏ °ÍÀÌ°í,
¾Æ´Ï¶ó¸é ¿¡·¯¸¦ ³ªÅ¸³»´Â
errno
¿Í ÇÔ²²
-1
ÀÌ ¹ÝȯµÈ´Ù.
¿¡·¯
½ÇÆаª ¹ÝȯÀ» À§ÇØ,
errno
´Â ´ÙÀ½ °ªÁß Çϳª·Î ¼³Á¤µÉ °ÍÀÌ´Ù:
- EACCES
-
key
¿¡ ´ëÀÀÇÏ´Â ¼¼¸¶Æ÷¾î ÁýÇÕÀÌ Á¸ÀçÇÏÁö¸¸,
È£ÃâÇÑ ÇÁ·Î¼¼½º´Â ÁýÇÕ¿¡ ´ëÇÑ Á¢±Ù±ÇÇÑÀÌ ¾ø´Ù.
- EEXIST
-
semflg
¿¡
IPC_CREAT
¿Í
IPC_EXCL
ÀÌ ¼³Á¤µÇ¾î Àִµ¥,
key
¿¡ ´ëÀÀÇÏ´Â ¼¼¸¶Æ÷¾î ÁýÇÕÀÌ ÀÌ¹Ì Á¸ÀçÇÑ´Ù.
- ENOENT
-
key
¿¡ ´ëÀÀÇÏ´Â ¼¼¸¶Æ÷¾î ÁýÇÕÀÌ Á¸ÀçÇÏÁö ¾Ê°í,
semflg
¿¡´Â
IPC_CREAT
°¡ ¼³Á¤µÇ¾î ÀÖÁöµµ ¾Ê´Ù.
- ENOMEM
-
¼¼¸¶Æ÷¾î ÁýÇÕÀÌ »ý¼ºµÇ¾î¾ß ÇÏÁö¸¸ ½Ã½ºÅÛ¿¡ ¸Þ¸ð¸®°¡ ºÎÁ·ÇÏ´Ù.
- ENOSPC
-
¼¼¸¶Æ÷¾î ÁýÇÕÀÌ »ý¼ºµÇ¾î¾ß ÇÏÁö¸¸ ½Ã½ºÅÛÀÇ
¼¼¸¶Æ÷¾î ÁýÇÕ °¹¼ö ÃÖ´ë°ª,
(SEMMNI)
°³º° ¼¼¸¶Æ÷¾î °¹¼öÀÇ ÃÖ´ë°ª
(SEMMNS)
Á¦ÇÑ ¶§¹®¿¡ ¸¸µéÁö ¸øÇß´Ù.
ÁÖÀÇ
IPC_PRIVATE
Àº Ç÷¡±×°¡ ¾Æ´Ï°í,
key_t
ŸÀÔÀÌ´Ù.
key
°¡ ÀÌ °ªÀ» °®À» ¶§¿¡ ½Ã½ºÅÛ È£ÃâÀº
semflg
ÀÇ ¾Æ·¡ 9ºñÆ® ÀÌ¿ÜÀÇ ´Ù¸¥ °ÍÀº ¸ðµÎ ¹«½ÃÇÏ°í
»õ·Î¿î ¼¼¸¶Æ÷¾î ÁýÇÕÀ» »ý¼ºÇÑ´Ù.
´ÙÀ½Àº
semget
È£Ãâ¿¡ ¿µÇâÀ» ÁÖ´Â ¼¼¸¶Æ÷¾î ¼³Á¤ ÀÚ¿øÀ» Á¦ÇÑÇÑ´Ù:
- SEMMNI
-
½Ã½ºÅÛ ¼¼¸¶Æ÷¾î ¼³Á¤ÀÇ ÃÖ´ë°ª ¹üÀ§: Á¤Ã¥ÀÇÁö.
- SEMMSL
-
semid´ç ¼¼¸¶Æ÷¾îÀÇ ÃÖ´ë°ª: ±¸Çö ÀÇÁö (ÇöÀç 500).
- SEMMNS
-
½Ã½ºÅÛ ¼¼¸¶Æ÷¾îÀÇ ÃÖ´ë°ª ¹üÀ§; Á¤Ã¥ ÀÇÁö.
¹ö±×
IPC_PRIVATE
ÀÇ »ç¿ëÀº ´Ù¸¥ ÇÒ´çµÈ ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ Á¢±Ù ÇÁ·Î¼¼½ºµéÀ» ¾ïÁ¦ÇÑ´Ù.
µ¥ÀÌŸ ±¸Á¶´Â ¼³Á¤¿¡ ½Ã½ºÅÛ È£Ãâ¿¡ ÀÇÇØ ÃʱâȵÇÁö ¾Ê´Â °¢ ¼¼¸¶Æ÷¾î°ú ÀÏÄ¡ÇÑ´Ù.
ȣȯ
SVr4, SVID. SVr4 documents additional error conditions EINVAL, EFBIG,
E2BIG, EAGAIN, ERANGE, EFAULT.
°ü·Ã Ç׸ñ
ftok(3),
ipc(5),
semctl(2),
semop(2)
¹ø¿ª
ASPLINUX <man@asp-linux.co.kr> 2000³â 7¿ù 29ÀÏ
¹è¼ºÈÆ <plodder@kldp.org> 2000³â 11¿ù 18ÀÏ
ÇÑ±Û Mnapage ÇÁ·ÎÁ§Æ® (http://man.kldp.org) 2005³â 2¿ù 14ÀÏ
Index
- À̸§
-
- »ç¿ë¹ý
-
- ¼³¸í
-
- ¹Ýȯ°ª
-
- ¿¡·¯
-
- ÁÖÀÇ
-
- ¹ö±×
-
- ȣȯ
-
- °ü·Ã Ç׸ñ
-
- ¹ø¿ª
-
This document was created by
man2html,
using the manual pages.
Time: 05:13:49 GMT, February 14, 2005