nautilus/nautilus-clean.sh
2000-05-29 13:47:38 +00:00

104 lines
1.7 KiB
Bash
Executable file

#!/bin/sh
# This is a quick hack to check if any nautilus auxiliary processes
# are running, and if so, list them and kill them. It is not
# portable, and should be be expected to be used in any kind of
# production capacity.
quiet=no
extreme=no
if [ $# -gt 0 ]
then
arg=$1
if [ "$arg" = "-q" ]
then
quiet=yes
elif [ "$arg" = "-x" ]
then
extreme=yes
fi
fi
if [ $# -gt 1 ]
then
arg=$2
if [ "$arg" = "-q" ]
then
quiet=yes
elif [ "$arg" = "-x" ]
then
extreme=yes
fi
fi
hack_echo ()
{
if [ "$quiet" != "yes" ]
then
echo "$*"
fi
}
# Add any new auxiliary programs here.
AUX_PROGS="\
bonobo-application-x-pdf \
bonobo-image-generic \
bonobo-text-plain \
gnome-vfs-slave \
hyperbola \
nautilus-history-view \
nautilus-content-loser \
nautilus-hardware-view \
nautilus-mozilla-content-view \
nautilus-notes \
nautilus-rpm-view \
nautilus-sample-content-view \
nautilus-service-startup-view \
nautilus-sidebar-loser \
ntl-history-view \
ntl-notes \
ntl-web-search \
ntl-web-browser \
"
if [ "$extreme" = "yes" ]
then
AUX_PROGS="oafd gconfd $AUX_PROGS"
fi
unset FOUND_ANY
for NAME in $AUX_PROGS; do
EGREP_PATTERN=`echo $NAME | sed -e 's/\(.\)\(.*\)/[\1]\2/' | sed -e 's/\[\\\^\]/\[\\^\]/'`
COUNT=`ps auxww | egrep $EGREP_PATTERN | grep -v emacs | wc -l`
if [ $COUNT -gt 0 ]; then
if [ -z $FOUND_ANY ]; then
hack_echo "Stale Processes Found"
FOUND_ANY=true
fi
hack_echo "$NAME: $COUNT"
if [ "$quiet" != "yes" ]
then
killall "$NAME"
else
killall "$NAME" > /dev/null 2>&1
fi
fi
done
if [ -z $FOUND_ANY ]; then
hack_echo "No Stale Processes Found"
exit 0
fi
exit 0