티스토리 뷰

개발/Linux

ipc 확인/추가/삭제

Jaeyeon Baek 2015. 11. 20. 16:17

OS에서 사용하는 ipc(Inter-Process Communication)를 확인하는 명령어로 ipcs가 있다.


보통 개발시에 등록한 공유메모리나 메시지 큐가 제대로 인식되었는지 확인하게 되는데 일단 명령어를 입력해보면 아래와 같은 화면을 볼 수 있다.


ipcs


세마포어와 공유메모리, 메시지 큐가 순서대로 보인다. (OS에 따라 약간의 차이는 있을 수 있다.)


도움말을 보면 아래와 같다.


ipcs --help


도움말 역시 OS에 따라 차이가 있을 수 있다.


여기서 유용하게 사용되는 옵션에는 두가지가 있는데, 첫번째로는 현재 커널 파라메타로 입력되어 있는 임계치(limits)다.


ipcs -l


proc에 있는 값을 조정해서 사용할 수도 있다. OS의 기본 임계치를 아는 것은 개발에 큰 도움을 준다.


유용한 두번째는 공유메모리만 확인하는 옵션.


ipcs -m


특정 공유메모리의 상태에 대한 진단도 아래와 같이 -i 옵션으로 가능하다.


ipcs -m -i 720905


여기까지 ipcs 명령어에 대해 알아봤고, 생성한 ipc는 ipcrm으로 삭제가 가능하다

usage: ipcrm [ [-q msqid] [-m shmid] [-s semid]

          [-Q msgkey] [-M shmkey] [-S semkey] ... ]


또한 임의로 아래처럼 생성하는것도 가능하다.


ipcmk --help


이때는 key가 랜덤하게 생성된다. (코드레벨에서는 지정할수 있다.)


아래는 80 bytes의 공유메모리를 생성해본 예제다.


개발 시에 경우에 따라서 나름 유용하게 사용할 수 있는 명령어다.


적절하게 사용하도록 하자.

댓글
댓글쓰기 폼