SEMCTL
Section: Linux Programmer's Manual (2)
Updated: November 1, 1993
Index
Return to Main Contents
À̸§
semctl - ¼¼¸¶Æ÷¾î Á¦¾î±â.
»ç¿ë¹ý
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
/* union semun is defined by including <sys/sem.h> */
#else
/* according to X/OPEN we have to define it ourselves */
union semun {
int val; /* SETVALÀ» À§ÇÑ°ª */
struct semid_ds *buf; /* IPC_STAT, IPC_SETÀ» À§ÇÑ ¹öÆÛ */
unsigned short int *array; /* GETALL, SETALLÀ» À§ÇÑ ¹è¿ */
struct seminfo *__buf; /* IPC_INFOÀ» À§ÇÑ ¹öÆÛ */
};
#endif
int semctl (int semid,
int semnum,
int cmd,
union semun arg)
¼³¸í
semctl
ÇÔ¼ö´Â
semid
°¡ °¡¸®Å°´Â ¼¼¸¶Æ÷¾î ÁýÇÕ, ȤÀº ÀÌ ÁýÇÕÀÇ
semnum
¹ø° ¼¼¸¶Æ÷¾î(¼¼¸¶Æ÷¾î´Â
0
¹øºÎÅÍ ½ÃÀÛÇÑ´Ù.)¿¡
cmd
°¡ ÁöÁ¤ÇÏ´Â Á¦¾îÀÛ¿ëÀ» ½ÇÇàÇÑ´Ù.
cmd
°¡ °®´Â °ªÀº ´ÙÀ½°ú °°´Ù.
- IPC_STAT
-
arg.buf
Æ÷ÀÎÅÍ°¡ °¡¸®Å°´Â ±¸Á¶Ã¼¿¡ ¼¼¸¶Æ÷¾î ÁýÇÕÀÇ µ¥ÀÌŸ ±¸Á¶ Á¤º¸¸¦ º¹»çÇÑ´Ù.
semnum
Àμö´Â ¹«½ÃµÈ´Ù.
È£ÃâÇÑ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ Àбâ±ÇÇÑÀÌ ÀÖ¾î¾ßÇÑ´Ù.
- IPC_RMID
-
¼¼¸¶Æ÷¾î ÁýÇÕ°ú µ¥ÀÌŸ ±¸Á¶¸¦ Áï½Ã Á¦°ÅÇÏ°í, ¸ðµç ´ë±âÁßÀÎ ÇÁ·Î¼¼½ºµéÀ» Àç½ÇÇàÇÑ´Ù.
È£ÃâÇÑ ÇÁ·Î¼¼½ºÀÇ À¯È¿ »ç¿ëÀÚID´Â ¼öÆÛÀ¯Àú³ª ¼¼¸¶Æ÷¾î ÁýÇÕÀÇ »ý¼ºÀÚ È¤Àº ¼ÒÀ¯ÀÚÁßÀÇ
Çϳª¿©¾ß ÇÑ´Ù.
Àμö
semnum
´Â ¹«½ÃµÈ´Ù.
- GETALL
-
ÁýÇÕÀÇ ¸ðµç ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ
semval
°ªÀ»
arg.array.
¿¡ ÀúÀåÇÑ´Ù.
º¯¼ö
semnum
´Â ¹«½ÃµÈ´Ù. È£ÃâÇÑ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î¼³Á¤¿¡ Àб⠱ÇÇÑÀÌ ÀÖ¾î¾ßÇÑ´Ù.
- GETNCNT
-
semnum
¹ø° ¼¼¸¶Æ÷¾îÀÇ
semncnt
°ªÀ» ¹ÝȯÇÑ´Ù. ÀÌ °ªÀº ¼¼¸¶Æ÷¾îÀÇ
semval
°ªÀÌ Áõ°¡Çϱ⸦ ±â´Ù¸®°í ÀÖ´Â
ÇÁ·Î¼¼½ºÀÇ ¼ö¸¦ ³ªÅ¸³½´Ù. È£ÃâÇÑ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ Àб⠱ÇÇÑÀÌ ÀÖ¾î¾ßÇÑ´Ù.
- GETPID
-
¼¼¸¶Æ÷¾î È£ÃâÀº
sempid
ÀÇ °ªÀ» ¹ÝȯÇÑ´Ù. ÀÌ °ªÀº
°¡Àå ÃÖ±Ù¿¡ ÇØ´ç ¼¼¸¶Æ÷¾î¿¡
semop
È£ÃâÀ» Çß´ø ÇÁ·Î¼¼½ºÀÇ pid¸¦ ³ªÅ¸³½´Ù.
È£ÃâÇÑ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ Àб⠱ÇÇÑÀÌ ÀÖ¾î¾ßÇÑ´Ù.
- GETVAL
-
ÁýÇÕÀÇ
semnum
¹ø° ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ
semval
ÀÇ °ªÀ» ¹ÝȯÇÑ´Ù. È£Ãâ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ ´ëÇÑ Àбâ Á¢±Ù¿¡ ÀÖ¾î Ưº°ÇÑ ±ÇÇÑÀ» °®°í ÀÖ¾î¾ß ÇÑ´Ù.
- GETZCNT
-
½Ã½ºÅÛ È£ÃâÀº ÁýÇÕÀÇ
semnum
¹ø° ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ
semzcnt
ÀÇ °ªÀ» ¹ÝȯÇÑ´Ù.ÀÌ °ªÀº ¼¼¸¶Æ÷¾îÀÇ
semval
°ªÀÌ 0ÀÌ µÇ±â¸¦ ±â´Ù¸®°í ÀÖ´Â
ÇÁ·Î¼¼½ºÀÇ ¼ö¸¦ ³ªÅ¸³½´Ù.
È£Ãâ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ ´ëÇÑ Àбâ Á¢±Ù ±ÇÇѵéÀ» °®°í ÀÖ¾î¾ß ÇÑ´Ù.
- SETALL
-
arg.array
Àμö ¹è¿À» »ç¿ëÇÏ¿© ÁýÇÕÀÇ ¸ðµç ¼¼¸¶Æ÷¾îÀÇ
semval
°ªÀ» ¼³Á¤ÇÑ´Ù.
ÁýÇÕ°ú °ü·ÃµÈ
semid_ds
±¸Á¶Ã¼ÀÇ
sem_ctime
¸â¹ö¸¦ ¶ÇÇÑ ¾÷µ¥ÀÌÆ®ÇÑ´Ù.
¸ðµç ÇÁ·Î¼¼½º¿¡¼ º¯°æµÈ ¼¼¸¶Æ÷¾î¿¡ ´ëÇØ Undo ¿£Æ®¸®µéÀº ¼Ò°ÅµÈ´Ù.
´ë±â¿¿¡¼ À¯ÈÞÁßÀÎ ÇÁ·Î¼¼½ºµéÀº ÀϺÎ
semval
ÀÌ 0ÀÌ µÇ°Å³ª, Áõ°¡Çϸé, ´Ù½Ã È°¼ºÈµÈ´Ù.
Àμö
semnum
Àº ¹«½ÃµÈ´Ù. È£Ãâ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ ´ëÇÑ º¯°æ Á¢±Ù ±ÇÇÑÀ» °®°í ÀÖ¾î¾ß ÇÑ´Ù.
- SETVAL
-
arg.val
°ªÀ» »ç¿ëÇÏ¿© ÁýÇÕÀÇ
semnum
¹ø° ¼¼¸¶Æ÷¾îÀÇ
semval
°ªÀ» ¼³Á¤ÇÑ´Ù.
semid_ds
±¸Á¶ÀÇ
sem_ctime
¸â¹ö¸¦ ¶ÇÇÑ ¾÷µ¥ÀÌÆ®½ÃŲ´Ù.
¸ðµç ÇÁ·Î¼¼½º¿¡¼ º¯°æµÈ ¼¼¸¶Æ÷¾î¿¡ ´ëÇØ Undo ¿£Æ®¸®µéÀº ¼Ò°ÅµÈ´Ù.
´ë±â¿¿¡¼ À¯ÈÞÁßÀÎ ÇÁ·Î¼¼½ºµéÀº
semval
ÀÌ 0ÀÌ µÇ°Å³ª, Áõ°¡Çϸé, ´Ù½Ã È°¼ºÈµÈ´Ù.
Àμö
semnum
Àº ¹«½ÃµÈ´Ù.
È£Ãâ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ ´ëÇÑ º¯°æ Á¢±Ù ±ÇÇÑÀ» °®°í ÀÖ¾î¾ß ÇÑ´Ù.
¹Ýȯ°ª
½ÇÆÐÇϸé, ½Ã½ºÅÛ È£ÃâÀº ¿¡·¯¸¦ °¡¸®Å°´Â
errno
¿Í ÇÔ²²
-1
¸¦ ¸®ÅÏÇÑ´Ù.
±×·¸Áö ¾ÊÀ¸¸é, ½Ã½ºÅÛ È£ÃâÀº ¾Æ·¡¿Í °°ÀÌ
cmd
¿¡ µû¶ó À½¼ö°ªÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÑ´Ù.
- GETNCNT
-
semncnt
ÀÇ °ª .
- GETPID
-
sempid
ÀÇ °ª .
- GETVAL
-
semval
ÀÇ °ª.
- GETZCNT
-
semzcnt
ÀÇ °ª .
¿¡·¯
½ÇÆÐ ¸®ÅÏ¿¡ ´ëÇÏ¿©,
errno
´Â ´ÙÀ½ÀÇ °ªµéÁß Çϳª·Î ¼³Á¤µÉ °ÍÀÌ´Ù.:
- EACCES
-
È£Ãâ ÇÁ·Î¼¼½º´Â
cmd
¸¦ ½ÇÇàÇϴµ¥ ÇÊ¿äÇÑ Á¢±Ù ±ÇÇÑÀ» °®°í ÀÖÁö ¾Ê´Â´Ù.
- EFAULT
-
arg.buf
¿¡ ÀÇÇØ °¡¸®Å°´Â ÁÖ¼Ò³ª
arg.array
´Â Á¢±ÙÀÌ ºÒ°¡´ÉÇÏ´Ù.
- EIDRM
-
¼¼¸¶Æ÷¾î ¼³Á¤Àº »èÁ¦µÇ¾ú´Ù.
- EINVAL
-
cmd
¶Ç´Â
semid
¿¡ ´ëÇÑ ºÎÀûÀýÇÑ °ª.
- EPERM
-
Àμö
cmd
°¡
IPC_SET
¶Ç´Â
IPC_RMID
°ªÀ» °®Áö¸¸, È£Ãâ ÇÁ·Î¼¼½º À¯È¿ »ç¿ëÀÚ ID´Â ¸í·ÉÀ» ½ÇÇà½Ãų ¼ö ÀÖ´Â ÃæºÐÄ¡ ¾ÊÀº Ư±ÇµéÀ» °®´Â´Ù.
- ERANGE
-
Àμö
cmd
´Â
SETALL
¶Ç´Â
SETVAL¸¦ °®°í,
and the value to which
semval
°¡ 0º¸´Ù Àû°í ±¸Çö °ªº¸´Ù ´õ Å©°Ô ¼³Á¤µÇ¾î¾ß ÇÏ´Â °ªÀ» °®´Â´Ù.
SEMVMX.
ÁÖÀÇ
IPC_INFO,
SEM_STAT
±×¸®°í
SEM_INFO
Á¦¾î È£ÃâµéÀº ÇÒ´çµÈ ÀÚ¿øµé¿¡ Á¤º¸¸¦ Á¦°øÇÏ´Â
ipcs(8)
ÇÁ·Î±×·¥¿¡ ÀÇÇØ »ç¿ëµÈ´Ù.
¼¼¸¶Æ÷¾î ¼³Á¤¿¡ ´ëÇÑ ´ÙÀ½ÀÇ ½Ã½ºÅÛ Á¦ÇÑÀº
semctl
È£Ãâ¿¡ ¿µÇâÀ» ¹ÌÄ£´Ù.
- SEMVMX
-
semval
¿¡ ´ëÇÑ ÃÖ´ë°ªÀº ±¸Çö¿¡ ÀÇÁ¸ÀûÀÌ´Ù (32767).
ȣȯ
SVr4, SVID. SVr4´Â ¿¡·¯ Á¶°Ç EINVAL°ú EOVERFLOW¿¡ ´ëÇÑ ¹®¼¸¦ ÀÛ¼ºÇÑ´Ù.
°ü·Ã Ç׸ñ
ipc(5),
shmget(2),
shmat(2),
shmdt(2)
¹ø¿ª
ASPLINUX<man@asp-linux.co.kr> 2000³â 7¿ù 29ÀÏ
¹è¼ºÈÆ <plodder@kldp.org> 2000³â 11¿ù 18ÀÏ
ÇÑ±Û Manpage ÇÁ·ÎÁ§Æ® (http://man.kldp.org) 2005³â 2¿ù 14ÀÏ
Index
- À̸§
-
- »ç¿ë¹ý
-
- ¼³¸í
-
- ¹Ýȯ°ª
-
- ¿¡·¯
-
- ÁÖÀÇ
-
- ȣȯ
-
- °ü·Ã Ç׸ñ
-
- ¹ø¿ª
-
This document was created by
man2html,
using the manual pages.
Time: 05:17:55 GMT, February 14, 2005