关键字杀进程
2016-12-28 14:56
183 查看
不做运维,linux基础还真不如运维同学犀利,再次受教了,总结一下
背景
经常多进程部署服务,restart, stop时需要根据关键字搜索出这一组进程,杀掉比如:python dir/tcp_server.py &多次执行起了多个进程,现在希望搜索
dir/tcp_server.py杀掉这组进程
CUT
ps -ef | grep dir/tcp_server.py | grep -v grep | cut -c 9-15 | xargs kill -9首先是基础的ps -ef | grep XXX,搜索出XXX的进程信息,结果如下:
xxxxxxx 6014 1 0 Nov30 ? 02:26:01 python2.7 dir/tcpserver.py 51014 xxxxxxx 6015 1 0 Nov30 ? 02:22:52 python2.7 dir/tcpserver.py 51015 xxxxxxx 6016 1 0 Nov30 ? 02:26:52 python2.7 dir/tcpserver.py 51016 xxxxxxx 6017 1 0 Nov30 ? 03:56:13 python2.7 dir/tcpserver.py 51017 xxxxxxx 6018 1 0 Nov30 ? 02:24:23 python2.7 dir/tcpserver.py 51018 xxxxxxx 6019 1 0 Nov30 ? 02:31:03 python2.7 dir/tcpserver.py 51019 6342 106660 106495 0 14:08 pts/5 00:00:00 grep dir/tcp_server.py大家伙都能发现,结果包含grep进程自身,显然要排除出去,所以再次
grep -v grep,这样就只剩下希望被杀的那些进程了接着是cut,截取9-15字符,刚好就是进程号,结果如下:
6014 6015 6016 6017 6018 6019最后,通过xargs传递给kill -9去杀死
AWK
cut适应性不给力,比如Mac就不能按9-15切割,那能不能智能一点点,就要获取进程号那一列.答案是 awkps aux | grep dir/tcp_server.py | grep -v grep | awk '{print $2}'| xargs kill -9
grep []
grep -v总让人感觉很蛋疼,能不能不要包含grep自身呢?答案是 grep []ps aux | grep [d]ir/tcp_server.py | awk '{print $2}' | xargs kill -9注意: grep
[d]ir/tcp_server.py 一句中的中括号
pgrep
关键字搜索一组进程,这么高频的实用的功能,为啥不先问问Linux自带有没有更好的呢?答案是 pgreppgrep -f dir/tcp_server.py | xargs kill -9pgrep 默认只能匹配进程的前15个字符串,所以默认使用,你很可能搜索不到进程号pgrep -f 可以进行进程全字符匹配所以,上面的命令带了
-f参数
pkill
pgrep都这么便利了,xargs能不能也被"便利"一下呢? 答案是pkillpkill -f dir/tcp_server.py
-f参数同pgreppkill和killall的区别:killall需要的是全名, pkill只要部分名字就可以pgrep pkill更多详细命令参数,看官们就各自查阅吧
相关文章推荐
- Linux批量删除包含某个关键字的进程
- Linux批量删除包含某个关键字的进程
- Linux下批量杀掉 包含某个关键字的 程序进程
- Android平台一个杀掉由关键字查找到的进程bat脚本
- Linux批量删除包含某个关键字的进程
- exit()函数与_exit()函数及return关键字的区别: exit()和_exit()函数都可以用于结束进程,不过_exit()调用之后会立即进入内核,而exit()函数会先执行一些清理
- linux命令(10)使用kill杀死含有指定关键字的进程
- Linux批量删除包含某个关键字的进程
- Linux下批量杀掉 包含某个关键字的 程序进程
- java中volatile关键字的含义(java进程并发情况)
- Linux批量删除包含某个关键字的进程
- Linux下批量杀掉包含某个关键字的程序进程
- Linux下批量杀掉 包含某个关键字的 程序进程
- Linux下批量杀掉 包含某个关键字的 程序进程
- Linux根据关键字批量杀进程
- Linux批量删除包含某个关键字的进程
- Linux批量删除包含某个关键字的进程
- Linux下批量杀掉包含某个关键字的程序进程
- 搜索关键字杀一组进程
- Linux批量删除包含某个关键字的进程