include('/home/users/hman/www/include/header.inc') ?>
Manpage of SEMCTL
SEMCTL
Section: Linux Programmer's Manual (2)
Updated: November 1, 1993
Index
HOME
À̸§
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)
¼³¸í
±â´ÉÀº ½Ã±×³Î ¼¼Æ®¿¡
cmd
¿¡ ÀÇÇØ ÁöÁ¤µÈ Á¦¾îÀÛ¿ëÀ» ½ÇÇàÇÑ´Ù.
¼¼Æ®ÀÇ Ã¹ ½Ã±×³ÎÀº
semnum
À» À§ÇÑ °ª
0
¿¡ ÀÇÇØ Áö½ÃµÈ´Ù.
cmd
À» À§ÇÑ °ªÀº ´ÙÀ½°ú °°´Ù.
- IPC_STAT
-
½Ã±×³Î·ÎºÎÅÍ º¹»ç Á¤º¸´Â
arg.buf
¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â ±¸Á¶¿¡ µ¥ÀÌŸ ±¸Á¶¸¦ ¼³Á¤ÇÑ´Ù.
Àμö
semnum
´Â ¹«½ÃµÈ´Ù.
È£ÃâÇÑ ÇÁ·Î¼¼½º´Â ½Ã±×³Î ¼³Á¤¿¡ Àбâ±ÇÇÑÀÌ ÀÖ¾î¾ßÇÑ´Ù.
- IPC_RMID
-
½Ã±×³Î ¼³Á¤À» Áï½Ã Á¦°ÅÇϰí, ±×°ÍÀÇ µ¥ÀÌŸ ±¸Á¶´Â ¸ðµç ´ë±âÁßÀÎ ÇÁ·Î¼¼½ºµéÀ» Àç½ÇÇàÇÑ´Ù.
È£ÃâÇÑ ÇÁ·Î¼¼½º À¯È¿ »ç¿ëÀÚID´Â ¼öÆÛÀ¯Àú³ª ½Ã±×³Î¼³Á¤ÀÇ »ý¼º, ¼ÒÀ¯ÀÚÁßÀÇ ÇϳªÀ̾î¾ßÇÑ´Ù.
Àμö
semnum
´Â ¹«½ÃµÈ´Ù.
- GETALL
-
arg.array.
Àμö¿¡ ¼³Á¤µÈ ¸ðµç ½Ã±×³Î À§ÇÑ
semval
¸¦ ¹ÝȯÇÑ´Ù.
º¯¼ö The argument
semnum
´Â ¹«½ÃµÈ´Ù. È£ÃâÇÑ ÇÁ·Î¼¼½º´Â ½Ã±×³Î¼³Á¤¿¡ Àб⠱ÇÇÑÀÌ ÀÖ¾î¾ßÇÑ´Ù.
- GETNCNT
-
½Ã½ºÅÛ È£ÃâÀº
semncnt
ÀÇ °ªÀ» ¹ÝȯÇÑ´Ù. È£ÃâÇÑ ÇÁ·Î¼¼½º´Â ½Ã±×³Î ¼³Á¤¿¡ Àб⠱ÇÇÑÀÌ ÀÖ¾î¾ßÇÑ´Ù.
- GETPID
-
½Ã±×³Î È£ÃâÀº
sempid
ÀÇ °ªÀ» ¹ÝȯÇÑ´Ù. È£ÃâÇÑ ÇÁ·Î¼¼½º´Â ½Ã±×³Î ¼³Á¤¿¡ Àб⠱ÇÇÑÀÌ ÀÖ¾î¾ßÇÑ´Ù.
- GETVAL
-
½Ã½ºÅÛ È£ÃâÀº ¼³Á¤ÀÇ .IR semnum -th ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ
semval ÀÇ °ªÀ» ¸®ÅÏÇÑ´Ù.
È£Ãâ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ ´ëÇÑ Àбâ Á¢±Ù¿¡ ÀÖ¾î Æ¯º°ÇÑ ±ÇÇÑÀ» °®°í ÀÖ¾î¾ß ÇÑ´Ù.
- GETZCNT
-
½Ã½ºÅÛ È£ÃâÀº ¼³Á¤ÀÇ .IR semnum -th ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ
semzcntÀÇ °ªÀ» ¸®ÅÏÇÑ´Ù.
È£Ãâ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ ´ëÇÑ Àбâ Á¢±Ù ±ÇÇѵéÀ» °®°í ÀÖ¾î¾ß ÇÑ´Ù.
- SETALL
-
Àμö¹è¿À»»ç¿ëÇϰí,¼³Á¤°ú°ü·ÃµÈ.Bsemid_ds±¸Á¶ÀÇ.Bsem_ctime¸â¹ö¸¦¶ÇÇѾ÷µ¥ÀÌÆ®½ÃÅ´À¸·Î¼
¼³Á¤ÀÇ ¸ðµç ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ .B semvalÀ» ¼³Á¤ÇÑ´Ù..
¸ðµç ÇÁ·Î¼¼½º¿¡¼ º¯°æµÈ ¼¼¸¶Æ÷¾î¿¡ ´ëÇØ Undo ¿£Æ®¸®µéÀº ¼Ò°ÅµÈ´Ù.
´ë±â¿¿¡¼ À¯ÈÞÁßÀÎ ÇÁ·Î¼¼½ºµéÀº ÀϺΠ.B semvalÀÌ 0ÀÌ µÇ°Å³ª, Áõ°¡Çϸé,
´Ù½Ã Ȱ¼ºÈµÈ´Ù.
Àμö .I semnumÀº ¹«½ÃµÈ´Ù.
È£Ãâ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ ´ëÇÑ º¯°æ Á¢±Ù ±ÇÇÑÀ» °®°í ÀÖ¾î¾ß ÇÑ´Ù.
- SETVAL
-
¼³Á¤°ú °ü·ÃµÈ .B semid_ds ±¸Á¶ÀÇ .B sem_ctime ¸â¹ö¸¦ ¶ÇÇÑ ¾÷µ¥ÀÌÆ®½ÃÅ´À¸·Î¼,
semvalÀÇ °ªÀ» ¼³Á¤ÀÇ .IR semnum -th ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ .IB arg .val·Î ¼³Á¤ÇÑ´Ù.
¸ðµç ÇÁ·Î¼¼½º¿¡¼ º¯°æµÈ ¼¼¸¶Æ÷¾î¿¡ ´ëÇØ Undo ¿£Æ®¸®µéÀº ¼Ò°ÅµÈ´Ù.
´ë±â¿¿¡¼ À¯ÈÞÁßÀÎ ÇÁ·Î¼¼½ºµéÀº ÀϺΠ.B semvalÀÌ 0ÀÌ µÇ°Å³ª, Áõ°¡Çϸé,
´Ù½Ã Ȱ¼ºÈµÈ´Ù.
Àμö .I semnumÀº ¹«½ÃµÈ´Ù.
È£Ãâ ÇÁ·Î¼¼½º´Â ¼¼¸¶Æ÷¾î ¼³Á¤¿¡ ´ëÇÑ º¯°æ Á¢±Ù ±ÇÇÑÀ» °®°í ÀÖ¾î¾ß ÇÑ´Ù.
¹Ýȯ°ª
½ÇÆÐÇϸé, ½Ã½ºÅÛ È£ÃâÀº ¿¡·¯¸¦ °¡¸®Å°´Â .B errno¿Í ÇÔ²² .B -1¸¦ ¸®ÅÏÇÑ´Ù.
±×·¸Áö ¾ÊÀ¸¸é, ½Ã½ºÅÛ È£ÃâÀº ¾Æ·¡¿Í °°ÀÌ .I cmd¿¡ µû¶ó À½¼ö°ªÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÑ´Ù.
- GETNCNT
-
semncntÀǰª.
- GETPID
-
sempidÀǰª.
- GETVAL
-
semvalÀǰª.
- GETZCNT
-
semzcntÀǰª.
¿¡·¯
½ÇÆÐ ¸®ÅÏ¿¡ ´ëÇÏ¿©,
errno ´Â ´ÙÀ½ÀÇ °ªµéÁß Çϳª·Î ¼³Á¤µÉ °ÍÀÌ´Ù.:
- EACCES
-
È£Ãâ ÇÁ·Î¼¼½º´Â .IR cmd¸¦ ½ÇÇàÇϴµ¥ ÇÊ¿äÇÑ Á¢±Ù ±ÇÇÑÀ» °®°í ÀÖÁö ¾Ê´Â´Ù.
- EFAULT
-
arg.buf¿¡ÀÇÇØ°¡¸®Å°´ÂÁÖ¼Ò³ª.IBarg.array´ÂÁ¢±ÙÀ̺Ұ¡´ÉÇÏ´Ù.
- EIDRM
-
¼¼¸¶Æ÷¾î ¼³Á¤Àº »èÁ¦µÇ¾ú´Ù.
- EINVAL
-
cmd
¶Ç´Â
semid¿¡´ëÇѺÎÀûÀýÇѰª.
- EPERM
-
Àμö .I cmd
has value
IPC_SET
¶Ç´Â
IPC_RMID
°ªÀ» °®Áö¸¸, È£Ãâ ÇÁ·Î¼¼½º À¯È¿ »ç¿ëÀÚ ID´Â ¸í·ÉÀ» ½ÇÇà½Ãų ¼ö ÀÖ´Â ÃæºÐÄ¡ ¾ÊÀº
Ư±ÇµéÀ» °®´Â´Ù.
- ERANGE
-
Àμö
cmd
´Â
SETALL
¶Ç´Â
SETVAL¸¦ °®°í,
and the value to which
semval°¡ 0º¸´Ù Àû°í ±¸Çö °ªº¸´Ù ´õ Å©°Ô ¼³Á¤µÇ¾î¾ß ÇÏ´Â °ªÀ» °®´Â´Ù.
SEMVMX.
ÁÖÀÇ
IPC_INFO,
SEM_STAT
±×¸®°í
SEM_INFO
Á¦¾î È£ÃâµéÀº ÇÒ´çµÈ ÀÚ¿øµé¿¡ Á¤º¸¸¦ Á¦°øÇÏ´Â .BR ipcs (8) ÇÁ·Î±×·¥¿¡ ÀÇÇØ »ç¿ëµÈ´Ù.
¼¼¸¶Æ÷¾î ¼³Á¤¿¡ ´ëÇÑ ´ÙÀ½ÀÇ ½Ã½ºÅÛ Á¦ÇÑÀº .B semctl È£Ãâ¿¡ ¿µÇâÀ» ¹ÌÄ£´Ù.
- SEMVMX
-
Maximum value for
semval¿¡´ëÇÑÃÖ´ë°ªÀº±¸Çö¿¡ÀÇÁ¸ÀûÀÌ´Ù(32767).
ȣȯ
SVr4, SVID. SVr4´Â ¿¡·¯ Á¶°Ç EINVAL°ú EOVERFLOW¿¡ ´ëÇÑ ¹®¼¸¦ ÀÛ¼ºÇÑ´Ù.
°ü·Ã Ç׸ñ
ipc(5),
shmget(2),
shmat(2),
shmdt(2)
¿ªÀÚ
ASPLINUX<man@asp-linux.co.kr>, 2000³â 7¿ù 29ÀÏ
Index
- À̸§
-
- »ç¿ë¹ý
-
- ¼³¸í
-
- ¹Ýȯ°ª
-
- ¿¡·¯
-
- ÁÖÀÇ
-
- ȣȯ
-
- °ü·Ã Ç׸ñ
-
- ¿ªÀÚ
-
include('/home/users/hman/www/include/tailer.inc') ?>