shell kill 进程树
来源:互联网 发布:mac代理设置 编辑:程序博客网 时间:2024/05/29 23:48
Shell 脚本程序往往会创建很多进程,当出现问题或者想终止执行的时候很麻烦,有时候忘记kill子进程,会出现一些很诡异的情况(如子进程需要写文件)。写个脚本kill进程树,方便以后系统维护使用。
#!/bin/shif [ $# -ne 1 ]then echo -e "\033[;36mUsage:\033[0m" "\033[;32mkillall\033[0m" "\033[;33mPID\033[0m" exitelse root=$1fifunction treekill(){ local father=$1 # children childs=(`ps -ef | awk -v father=$father 'BEGIN{ ORS=" "; } $3==father{ print $2; }'`) if [ ${#childs[@]} -ne 0 ] then for child in ${childs[*]} do treekill $child done fi # father echo -e "\033[;32mkill\033[0m" "\033[;36mpid\033[0m" "\033[;33m$father\033[0m" kill -9 $father}treekill $root
测试一下:
test.sh 如下
#!/bin/shsh ./test1.sh &sleep 55555555 &sleep 7777777test1.sh 如下
#!/bin/shsleep 55555555 &sleep 7777777运行
sh test.sh &killtree pid # test.sh 的进程ID
- shell kill 进程树
- Shell 查找进程 并kill
- shell应用:批量kill进程
- Shell判断进程并kill
- [shell] kill 进程及子进程
- shell 自动批量kill一些进程
- shell 脚本应用之 kill 应用进程
- shell脚本创建和kill进程
- Linux shell脚本实现kill进程
- shell 脚本实现kill oracle用户进程
- kill 进程
- KILL进程
- kill 进程
- 进程 kill
- shell kill tomcat 进程 删除 ROOT 启动 tomcat
- 在shell中kill掉后台子进程
- shell学习五十二天----删除进程kill命令
- shell 将sleep超过1000s的进程kill
- [Android]如何导入已有的外部数据库
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- android直接读取项目中的sqlite数据库
- C和C++中static用法简单总结
- xmlHttp
- shell kill 进程树
- C/C++宏定义的可变参数(VC6不支持可变参数宏)
- ubuntu 10.04(64位)下搭建android2.3/android4.2/4.1/4.0开发环境
- Oracle 字符集的查看和修改
- Visual Studio 2010 下 Boost.Regex 库的使用笔记
- Data structure
- 现实迷途 第二十七章 深情表白
- call 不可以使用在plsql中,只能在sql*plus中使用。
- Yii 显示错误信息(Fatal Error,Warning)在页面上