12 |
HERE=`pwd` |
HERE=`pwd` |
13 |
pLog="kill_$sfx.log" |
pLog="kill_$sfx.log" |
14 |
|
|
15 |
echo "start $0 from $HERE at:" `date` "by user: $uNam" |
echo "start $0 +from dir: $HERE +by user: $uNam" |
16 |
|
echo " on: "`hostname`" +at:" `date` |
17 |
#uNam='jmc' ; HERE='/home/jmc/test_ACES/output' ; cd $HERE |
#uNam='jmc' ; HERE='/home/jmc/test_ACES/output' ; cd $HERE |
18 |
|
|
19 |
while test ! -f stop_check_$sfx |
while test ! -f stop_check_$sfx |
21 |
# check for defunct proc |
# check for defunct proc |
22 |
nZ=`ps -f -u $uNam | grep $pNam | grep '<defunct>' | wc -l` |
nZ=`ps -f -u $uNam | grep $pNam | grep '<defunct>' | wc -l` |
23 |
if [ $nZ -ge 1 ] ; then |
if [ $nZ -ge 1 ] ; then |
24 |
echo "found $nZ $pNam zombie processes at:" `date` |
echo "===> found $nZ $pNam zombie processes at:" `date` |
25 |
listZ=`ps -f -u $uNam | grep $pNam | grep '<defunct>' | awk '{print $2}'` |
listZ=`ps -f -u $uNam | grep $pNam | grep '<defunct>' | awk '{print $2}'` |
26 |
sleep $shortChk |
sleep $shortChk |
27 |
for p1Z in $listZ ; do |
for p1Z in $listZ ; do |
59 |
#--- |
#--- |
60 |
echo " list of remaining $pNam proc:" | tee -a $pLog |
echo " list of remaining $pNam proc:" | tee -a $pLog |
61 |
ps -f -u $uNam | grep $pNam | tee -a $pLog |
ps -f -u $uNam | grep $pNam | tee -a $pLog |
62 |
echo '--------------------' >> $pLog |
echo '--------------------' | tee -a $pLog |
63 |
else |
else |
64 |
echo " proc: $p1Z no more Zombie at:" `date` |
echo " proc: $p1Z no more Zombie at:" `date` |
65 |
fi |
fi |
66 |
done |
done |
67 |
nZ=`ps -f -u $uNam | grep $pNam | grep '<defunct>' | wc -l` |
nZ=`ps -f -u $uNam | grep $pNam | grep '<defunct>' | wc -l` |
68 |
echo " $nZ $pNam zombie process remain at:" `date` |
echo " --> $nZ $pNam zombie process remain at:" `date` |
|
echo '--------------------' |
|
69 |
fi |
fi |
70 |
sleep $longChk |
sleep $longChk |
71 |
done |
done |