2016-11-30 5 views
0

메시지 큐가 존재하지 않거나 존재하지 않는지 어떻게 확인할 수 있습니까?IPC 메시지 큐를 만들지 않고 이미 있는지 확인하십시오.

O_CREAT | O_EXCL 플래그와 함께 사용하는 경우, 호출이 실패하면 -1이 반환되고 실패 할 경우 새 메시지 대기열이 만들어집니다. 그냥 확인하는 방법이 있습니까?

+1

0으로 플래그를 전달하면 (또는 적어도 'IPC_CREAT' 플래그를 넘겨주지 않으면), n이 존재하면'erono'로 설정된'errno'를 호출하면 호출이 실패합니다 지정된 키를 가진 메세지 대기 행렬. 나는 [매뉴얼 페이지를 읽으십시오] (http://man7.org/linux/man-pages/man2/msgget.2.html)를 추천합니다. –

+0

팁을 주셔서 감사합니다. 매뉴얼을 읽었으며,'ENOENT' 플래그를 알아 채지 못했습니다. – Patrick

답변

0

ipcs (1)는 IPC 기능에 대한 정보를 제공하며 ipcrm (1)은 시스템에서 IPC 객체를 제거하는 데 사용할 수 있습니다.

목록 공유 메모리 세그먼트 :

IPCS가

목록의 메시지 큐를 -m :

shmkey로 만든 IPCS -q

제거 공유 메모리 세그먼트 :

ipcrm -M 키

공유 mem 제거 shmid가 식별 ORY 세그먼트 : msgkey로 만든

ipcrm -m ID

제거 메시지 큐 : MSGID로 식별

ipcrm -Q 키

제거 메시지 큐 :

ipcrm - q id