blob: b05ae4ad6d870a393a70a09a3547486ebaf7421d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#! /bin/sh
########################################################################
#
# /u/sonmi/bin/qaclean
#
# is supposed to clean up after a "hanging" QA
#
# 1) see if there is a lockfile
# if yes:
# 1a) kill the process of the lockfile and if possible it's children
# 1b) rm the lockfile
# 2) kill selfservers
# 3) clean up old tmp files
#
########################################################################
if [ -z "$TMP" ]
then
if [ -z "$TEMP" ]
then
TMP="/tmp"
else
TMP=$TEMP
fi
fi
if [ ! -w "$TMP" ]
then
echo "Can't write to tmp directory $TMP - exiting"
echo "Can't write to tmp directory $TMP - exiting" >&2
exit 1
fi
########################### Ps #########################################
# platform specific ps
########################################################################
Ps()
{
if [ `uname -s` = "SunOS" ]
then
/usr/5bin/ps -e
else
ps -e
fi
}
Kill()
{
if [ "$1" = "$$" ]
then
return
fi
echo "Killing PID $1"
kill $1
sleep 1
kill -9 $1 2>/dev/null
}
########################### kill_by_name ################################
# like killall, only without permissionproblems, kills the process whose
# name is given as parameter
########################################################################
kill_by_name()
{
echo "Killing all $1"
for PID in `Ps | grep "$1" | grep -v grep | \
sed -e "s/^[ ]*//g" -e "s/[ ].*//"`
do
Kill $PID
done
}
kill_the_rest()
{
i=0
while [ $i -lt $1 ]
do
kill_by_name nssqa
kill_by_name selfserv
kill_by_name strsclnt
kill_by_name all.sh
kill_by_name sdr.sh
kill_by_name ssl.sh
kill_by_name smime.sh
i=`expr $i + 1`
done
}
nt_warning()
{
os_name=`uname -s`
case $os_name in
CYGWIN*|WIN*|Win*)
echo
echo
echo
echo "Another Windows problem... If you have not already done so"
echo "after this script completes, please reboot, and log in as"
echo "user svbld again"
echo
echo
echo
;;
esac
}
nt_warning
case $1 in
?*)
rsh $1 '/u/sonmi/bin/qaclean'
exit
;;
esac
uname -a
echo
if [ -f ${TMP}/nssqa.* ]
then
echo "nssqa seems to be running ${TMP}/nssqa.*"
#cat ${TMP}/nssqa.*
NSSQA_PID=`ls ${TMP}/nssqa.* | sed -e 's/[^.]*\.//'`
Kill $NSSQA_PID
rm ${TMP}/nssqa.*
fi
kill_the_rest 3
ls -l ${TMP}/nsstmp.*
rm ${TMP}/nsstmp.* 2>/dev/null
rm ${TMP}/certutilout.* 2>/dev/null
nt_warning
|