zoukankan      html  css  js  c++  java
  • shell脚本杀掉指定进程下所有子进程(包括子进程的子进程)

    搜索了网上好像并没有杀掉指定进程下所有子进程(包括子进程的子进程)的脚本,自己琢磨写了一版,虽说比较简单,但希望分享大家,帮助需要的人

    #!/bin/sh
    # 递归找到进程最底层子进程并杀除.
    mainName=$1
    echo "=====开始====="
    #grep -v可以过滤掉grep的进程,但测试时有时会出现问题,所以加上获取第一行
    mainId=`ps -ef |grep ${mainName}|grep -v 'grep' |head -1|cut -c 9-15`
    #也可以使用这种方法获取查出的第一个参数
    #mainId=`ps -A |grep ${mainName}|awk '{print $1}'`
    #去掉空格 mainId=`echo ${mainId}|sed 's/ //g'` echo "mainId===${mainId}" #查主进程下所有子进程 格式为main.sh(275)---children1.sh(27641)---sleep(27643) pidLine=`pstree -p ${mainId}` echo "pidLine===pidLine${pidLine}" #取括号中的内容 pidLine=`echo $pidLine | awk 'BEGIN{ FS="(" ; RS=")" } NF>1 { print $NF }'` #echo $pidLine for pid in $pidLine do echo "kill -9 ${pid}" kill -9 ${pid} done
  • 相关阅读:
    MFC菜单快捷键的应用
    TDD in C++
    Mapping
    初入股市者怎样看盘
    C++随笔分类列表(高级)
    C++代码优化
    IT生活
    十一年炒股的感悟
    框架设计(第2版)CLR Via C#(1)
    Visual Assist X自己常用的快捷功能
  • 原文地址:https://www.cnblogs.com/itlixian/p/11050259.html
Copyright © 2011-2022 走看看