killsmpser.sh

#!/bin/ksh
#程序名称:killsmpser.sh
#作者姓名:**

#开发时间:2007-08-10
#功能说明:本程序用来杀掉调度进程smpser和其他被拉起的子进程

#包含公共函数集
. public.sh.rc

workdir=$HOME/smp_run/smpser

#日志文件
LogFile=${LogDir}/killsmpser.log


# ======   main   =========
ProgName=`basename $0`

#程序启动日志
LogStart $ProgName

SMPSER_PID=`ps -ef | grep "$LOGNAME" | grep "smpser" | grep -v  grep  |grep -v "_smpser"| grep -v "smpser_"| grep -v "killsmpser" | awk '{print $2}'`
for PID in $SMPSER_PID
do
  if kill -USR1 $PID
     then
        Log "Process smpser($PID) was stopped"
     else
        Log "Process smpser($PID) can not be stopped"
   fi
done
sleep 2

#smpser主进程输出的子进程列表
tmpfile=$workdir/temp/smpser_proclist.unl
if [ ! -f $tmpfile ]
then
    Log "No child process"
    #结束日志
    LogEnd $ProgName   
    exit 0
fi


#杀掉可能存在的子进程.
while read proname
do
    PROC_PID=`ps -ef | grep "$LOGNAME" | grep "$proname" | grep -v grep | awk '{print $2}'`
    for PID in $PROC_PID
    do
      if kill -9 $PID
         then
            Log "Process $proname($PID) was stopped"
         else
            Log "Process $proname($PID) can not be stopped"
       fi
    done
done < $tmpfile

Log "All child process were stopped"

#结束日志
LogEnd $ProgName

exit 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值