diff options
Diffstat (limited to 'ACE/bin/clean_sems.sh')
-rwxr-xr-x | ACE/bin/clean_sems.sh | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ACE/bin/clean_sems.sh b/ACE/bin/clean_sems.sh new file mode 100755 index 00000000000..b73793c7b62 --- /dev/null +++ b/ACE/bin/clean_sems.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +SYSTEM=`uname -s` +IPCS="ipcs" +IPCRM="ipcrm -s" + +if [ "$SYSTEM" = "Darwin" ]; then + USER=`id | sed 's/(.*//; s/uid=//'` + IPCS="ngvipc -s" + IPCRM="ngvipc -s -R" +elif [ -z "$USER" ]; then + USER=`id | sed 's/).*//; s/.*(//'` +fi + + +case "$SYSTEM" in + "Linux" ) + ipcs -a | grep $USER | awk '{ print ($2) }' | xargs -r ipcrm sem; + ;; + * ) + semids=`$IPCS | grep "^s" | grep $USER | awk '{ print ($2) }'` + for p in $semids + do $IPCRM $p + done + ;; +esac |