#!/bin/sh # RemoveAllIPC.sh # Tue Dec 30 16:26:28 PST 2008 # Chieh Cheng # http://www.CynosureX.com/ # GNU General Public License (GPL) Version 2, June 1991 removeIPC () { flag="$1" ids=`ipcs "${flag}" | grep "^0x" | cut -d" " -f 2` if [ "${ids}" != "" ] then for id in `echo "${ids}"` do ipcrm ${flag} ${id} done fi } usage () { scriptName=`basename "$0"` echo " Usage: ${scriptName} [-m] [-q] [-s]" echo echo " -m - Remove all share memory segments" echo " -q - Remove all message queues" echo " -s - Remove all semaphore arrays" echo echo " Running this script without any argument is the same as running it with all arguments." } if [ $# -lt 4 ] then if [ $# -eq 0 ] then "$0" -m -q -s else for argument do if [ "${argument}" = "-m" -o "${argument}" = "-q" -o "${argument}" = "-s" ] then removeIPC "${argument}" else echo "Unknown argument: ${argument}" fi done fi else usage fi