본문 바로가기
Old Posts/Linux

[Linux] ipcs, ipcrm 명령어 사용법

by A6K 2022. 2. 21.

리눅스 시스템에서는 프로세스간 통신(IPC, Inter-Process Communication)을 위한 메커니즘을 제공한다. 메시지큐(Message Queue)라던지 공유메모리(Shared Memory), 세마포어(Semaphore) 등을 제공해 프로세스가 정보를 주고 받을 수 있게 해준다.

IPC를 위한 이런 자원들은 특정 프로세스에 종속되어 있는게 아니기 때문에 커널에서 관리를 해줘야한다. ipcs, ipcrm 명령어는 이런 IPC를 위한 자원들을 관리하기 위한 명령어다.

우선 ipcs 명령어는 IPC를 위한 자원들의 리스트를 출력해주는 명령어다.

[~]$ ipcs

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages    
0x000cf929 0          user1     666        0            0           

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x00000000 229372     user2      600        1

프로세스들이 종료되거나 더 이상 IPC 자원을 사용하지 않게 되면 ipcrm 명령을 통해 시스템에서 삭제할 수 있다.

[~] $ ipcrm -s 229372

ipcs 명령어 옵션

옵션 설명
-i 특정 id에 대한 정보를 출력
-m 공유 메모리 자원을 조회
-q 메시지 큐 자원을 조회
-s 세마포어 자원을 조회
-a 모든 IPC 자원을 조회
-t 시간정보를 같이 출력
-p pid 정보를 같이 출력
-c creator 정보를 같이 출력
-l limits 정보를 같이 출력
-u 간추린 정보를 같이 출력

ipcrm 명령어 옵션

옵션 설명
-q 인자로 준 msgid에 해당하는 메시지 큐를 지움
-Q 인자로 준 Queue Key에 해당하는 메시지 큐를 지움
-s 세마포어 ID를 지움
-S 세마포어 Key를 지움
-m 공유메모리 ID를 지움
-M 공유메모리 Key를 지움
   
   
   

관련글

 

리눅스 명령어 사용법들

리눅스 명령어 사용법 ifconfig 네트워크 인터페이스 설정관련 ls 디렉토리 엔트리 정보 출력

hbase.tistory.com

 

댓글