• 구름많음동두천 22.4℃
  • 구름많음강릉 23.7℃
  • 맑음서울 24.0℃
  • 구름많음대전 24.7℃
  • 구름많음대구 23.5℃
  • 구름조금울산 24.7℃
  • 구름많음광주 25.8℃
  • 구름조금부산 27.9℃
  • 구름조금고창 26.8℃
  • 구름조금제주 27.7℃
  • 구름조금강화 23.1℃
  • 구름많음보은 23.4℃
  • 구름많음금산 24.8℃
  • 구름많음강진군 25.9℃
  • 구름많음경주시 24.7℃
  • 맑음거제 25.1℃
기상청 제공

자원을 삭제할 때 - ipcrm

자원을 삭제할 때 - ipcrm

자원을 삭제할 때는 ipcrm 라는 명령어

# 필요성
특정 프로세스가 가지고 있던 자원들을 해제하지 않으면서 생긴 문제를 해결하기 위함이다.
예를 들어 DBMS에 대해서 kill을 했지만, IPC 자원을 해제않는 경우를 확인할 수 있고,
이를 통해서 자원이 낭비되고, 이런식으로 계속 문제가 되면, 시스템 전체에 영향을 미칠 수 있기 때문이다.


예를 들어 apache 데몬의 경우 restart를 했는데, 다음과 같이 세마포를 계속 가지고 있을 수 있다.


------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x00000000 13434880   www       600        1         
0x00000000 13467649   www       600        1         
0x00000000 13500418   www       600        1         
0x00000000 13533187   www       600        1         
0x00000000 13565956   www       600        1  


ipcs -s |sed "/em/d" | for i in `awk '{print $2}'` ; do ipcrm sem $i ; done


이 명령어를 통해서 싹 정리하면 좋다.

 

예시)
ipcrm -m 30605373

ipcs -m
ipcrm -m 30408759
ipcrm -m 31293508

ipcs -m > shmgts
less shmgts 
ipcs -m -p
ipcs -m
for i in $(cat rmshmgts); do ipcrm -m $i ;d