|
Packit |
40b132 |
#! /bin/sh
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
# /u/sonmi/bin/qaclean
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
# is supposed to clean up after a "hanging" QA
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
# 1) see if there is a lockfile
|
|
Packit |
40b132 |
# if yes:
|
|
Packit |
40b132 |
# 1a) kill the process of the lockfile and if possible it's children
|
|
Packit |
40b132 |
# 1b) rm the lockfile
|
|
Packit |
40b132 |
# 2) kill selfservers
|
|
Packit |
40b132 |
# 3) clean up old tmp files
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
if [ -z "$TMP" ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
if [ -z "$TEMP" ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
TMP="/tmp"
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
TMP=$TEMP
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
if [ ! -w "$TMP" ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
echo "Can't write to tmp directory $TMP - exiting"
|
|
Packit |
40b132 |
echo "Can't write to tmp directory $TMP - exiting" >&2
|
|
Packit |
40b132 |
exit 1
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
########################### Ps #########################################
|
|
Packit |
40b132 |
# platform specific ps
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
Ps()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
if [ `uname -s` = "SunOS" ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
/usr/5bin/ps -e
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
ps -e
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
Kill()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
if [ "$1" = "$$" ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
return
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
echo "Killing PID $1"
|
|
Packit |
40b132 |
kill $1
|
|
Packit |
40b132 |
sleep 1
|
|
Packit |
40b132 |
kill -9 $1 2>/dev/null
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
########################### kill_by_name ################################
|
|
Packit |
40b132 |
# like killall, only without permissionproblems, kills the process whose
|
|
Packit |
40b132 |
# name is given as parameter
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
kill_by_name()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
echo "Killing all $1"
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
for PID in `Ps | grep "$1" | grep -v grep | \
|
|
Packit |
40b132 |
sed -e "s/^[ ]*//g" -e "s/[ ].*//"`
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
Kill $PID
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
kill_the_rest()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
i=0
|
|
Packit |
40b132 |
while [ $i -lt $1 ]
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
kill_by_name nssqa
|
|
Packit |
40b132 |
kill_by_name selfserv
|
|
Packit |
40b132 |
kill_by_name strsclnt
|
|
Packit |
40b132 |
kill_by_name all.sh
|
|
Packit |
40b132 |
kill_by_name sdr.sh
|
|
Packit |
40b132 |
kill_by_name ssl.sh
|
|
Packit |
40b132 |
kill_by_name smime.sh
|
|
Packit |
40b132 |
i=`expr $i + 1`
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
nt_warning()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
os_name=`uname -s`
|
|
Packit |
40b132 |
case $os_name in
|
|
Packit |
40b132 |
CYGWIN*|WIN*|Win*)
|
|
Packit |
40b132 |
echo
|
|
Packit |
40b132 |
echo
|
|
Packit |
40b132 |
echo
|
|
Packit |
40b132 |
echo "Another Windows problem... If you have not already done so"
|
|
Packit |
40b132 |
echo "after this script completes, please reboot, and log in as"
|
|
Packit |
40b132 |
echo "user svbld again"
|
|
Packit |
40b132 |
echo
|
|
Packit |
40b132 |
echo
|
|
Packit |
40b132 |
echo
|
|
Packit |
40b132 |
;;
|
|
Packit |
40b132 |
esac
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
nt_warning
|
|
Packit |
40b132 |
case $1 in
|
|
Packit |
40b132 |
-all)
|
|
Packit |
40b132 |
for w in tommy booboo kentuckyderby galileo shame axilla columbus \
|
|
Packit |
40b132 |
smarch charm hp64 biggayal orville kwyjibo hbombaix raven \
|
|
Packit |
40b132 |
jordan hornet phaedrus louie box dbldog huey washer dryer \
|
|
Packit |
40b132 |
shabadoo trex bummer compaqtor jellyfish sjsu
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
echo $w
|
|
Packit |
40b132 |
ping $w && rsh $w '/u/sonmi/bin/qaclean'
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
;;
|
|
Packit |
40b132 |
?*)
|
|
Packit |
40b132 |
rsh $1 '/u/sonmi/bin/qaclean'
|
|
Packit |
40b132 |
exit
|
|
Packit |
40b132 |
;;
|
|
Packit |
40b132 |
esac
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
uname -a
|
|
Packit |
40b132 |
echo
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
if [ -f ${TMP}/nssqa.* ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
echo "nssqa seems to be running ${TMP}/nssqa.*"
|
|
Packit |
40b132 |
#cat ${TMP}/nssqa.*
|
|
Packit |
40b132 |
NSSQA_PID=`ls ${TMP}/nssqa.* | sed -e 's/[^.]*\.//'`
|
|
Packit |
40b132 |
Kill $NSSQA_PID
|
|
Packit |
40b132 |
rm ${TMP}/nssqa.*
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
kill_the_rest 3
|
|
Packit |
40b132 |
ls -l ${TMP}/nsstmp.*
|
|
Packit |
40b132 |
rm ${TMP}/nsstmp.* 2>/dev/null
|
|
Packit |
40b132 |
rm ${TMP}/certutilout.* 2>/dev/null
|
|
Packit |
40b132 |
rm ${TMP}/Pk12*
|
|
Packit |
40b132 |
nt_warning
|