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