diff options
Diffstat (limited to 'x11vnc/misc/shm_clear')
-rwxr-xr-x | x11vnc/misc/shm_clear | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/x11vnc/misc/shm_clear b/x11vnc/misc/shm_clear deleted file mode 100755 index 16d5cb6..0000000 --- a/x11vnc/misc/shm_clear +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/sh -# -# shm_clear: clean out unattached (NATTACH=0) shm segments. -# See ipcs(1) and ipcrm(1). Tested on Linux and Solaris. -# -# Usage: -# shm_clear list and prompt for removal of your unattached shm segments. -# shm_clear -y assume "yes" to all the removal prompts. -# shm_clear -l only list (all of) your shm segments and exit. -# - -#set -xv -if echo "$1" | grep '^-h' > /dev/null; then - # -h or -help - tail +3 $0 | head -9 - exit -fi - -if [ "X$USER" = "X" ]; then - USER=$LOGNAME -fi -l_arg="shmid.*owner|CREATOR|$USER" - -# set up OS dependent cmdline opts, etc. -if [ `uname` = "Linux" ]; then - m_arg="-m" - r_arg="shm" - g_arg="^0x" - s_cmd="ipcs $m_arg -i %ID" - awkcut='{print $2, $6}' -elif [ `uname` = "SunOS" ]; then - m_arg="-ma" - r_arg="-m" - g_arg="^m" - s_cmd="ipcs $m_arg | egrep ' %ID |CREATOR' | grep -v IPC.status" - awkcut='{print $2, $9}' -else - echo unsupported OS: `uname` - exit 1 -fi - -list() { - if [ "X$1" = "X-L" ]; then - l_arg="$l_arg|." - echo "All shm segments for all:" - else - echo "All shm segments for $USER:" - fi - ipcs $m_arg | egrep "$l_arg" - echo -} - -show() { - cmd=`echo "$s_cmd" | sed -e "s/%ID/$1/g"` - eval $cmd -} - -remove() { - echo ipcrm $r_arg $1 - ipcrm $r_arg $1 -} - -if [ "X$1" = "X-l" -o "X$1" = "X-L" ]; then - # list only. both attached and unattached listed. - list $1 - exit 0 -fi - -if [ "X$1" = "X-y" ]; then - shift - yes=1 # assume "yes" to all delete questions. -else - yes="" -fi - -list - -ids=`ipcs $m_arg | grep "$g_arg" | grep $USER | awk "$awkcut" | grep ' 0$' | awk '{print $1}'` -if [ "X$ids" = "X" ]; then - echo "No unattached shmids for $USER." -fi - -for id in $ids -do - if [ $yes ]; then - : - else - echo "-------------------------------------" - show $id - printf "\nDelete? [y]/n " - read x - if echo "$x" | grep -i n > /dev/null; then - continue - fi - fi - remove $id -done |